EF6 сопоставление «многие ко многим» более двух сущностей и составных ключей - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть эти классы:

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, но я не могу получить правильную структуру базы данных или неправильно добавляю данные в базу данных.У кого-нибудь есть идеи, как правильно сопоставить это или я могу создать более простую настройку?

...