У меня есть эти классы:
public class Behandler
{
[Key]
[Column(Order = 1)]
public string CompanyName { get; set; }
[Key]
[Column(Order = 2)]
public string Street { get; set; }
public virtual ICollection<Profession> Professions { get; set; }
public virtual ICollection<Treatment> Treatments { get; set; }
// And other fields
}
public class Profession
{
[Key]
public string Name { get; set; }
public virtual ICollection<Behandler> Behandlers { get; set; }
// And other fields
}
public class Treatment
{
[Key]
[Column(Order = 1)]
public string Name { get; set; }
[Key]
[Column(Order = 2)]
public Profession Profession { get; set; }
public virtual ICollection<Behandler> Behandlers { get; set; }
// And other fields
}
Мне нужно много-много сопоставлений между Behandler / Profession и Behandler / Treatment, но у Behandler есть составные ключи, а для обработки тоже есть, с добавленной сложностью, что одиниз ключей, содержащихся в составном ключе обработки, является первичным ключом профессии.Поэтому мне нужно сопоставление «многие ко многим» между Behandler / Treatment и Behandler / Profession, а также сопоставление «многие к одному» между Treatment / Profession.
Я пытался создать таблицы соединений и классы, но всегда получаю исключения Primary / Foreignkey в моем методе seed.Я также пробовал различные методы, используя свободный API, но я не могу получить правильную структуру базы данных или неправильно добавляю данные в базу данных.У кого-нибудь есть идеи, как правильно сопоставить это или я могу создать более простую настройку?