Я работаю над подходом Entity Framework Core Code First и ASP. Net Core 2.1, создающим 3 таблицы:
- Класс Person
public class Person
{
public string Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public PeopleProfessions PeopleProfessions { get; set; }
}
Класс профессий
public class Profession
{
public string Id { get; set; }
public string Name{ get; set; }
public PeopleProfessions PeopleProfessions { get; set; }
}
класс людей профессий
public class peopleprofessions
{
[ForeignKey("PersonId ")]
public string PersonId { get; set; }
public ICollection<Person> People { get; set; }
[ForeignKey("ProfessionId")]
public string ProfessionId{ get; set; }
public ICollection<Profession> Professions { get; set; }
}
В моем контексте:
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity<peopleprofessions>().HasKey(up => new { up.PersonId, up.ProfessionId });
}
Учитывая это:
- Люди могут иметь несколько профессий ,
- Таблица профессий предназначена только для чтения хранимых данных, таких как «Бухгалтер».
У меня есть сомнения относительно того, как я могу сделать таблицу 3, содержащую только иностранцев, и что она может удовлетворить потребности что я только что упомянул.
Я попытался сделать отношения соответствующим образом, но я также заметил, что в таблицах 1 и 2 он запрашивает оба идентификатора профессии людей таблицы.
Я не знаю если я потерялся, или я смотрю неправильно, или есть альтернатива этой ситуации. Спасибо за любую помощь, вы можете дать мне.