Как определить нетрадиционные (?) Отношения один ко многим в Entity Framework - PullRequest
0 голосов
/ 26 февраля 2020

Мне нужно использовать базу данных, где у меня есть две таблицы, Proprietaires и Certification.

Proprietaires имеет следующие столбцы:

  • Id
  • IdCertification
  • Имя
  • ...

Certification имеет следующие столбцы:

  • Id
  • ProprietaireId
  • Имя
  • ...

Итак, я определил свою Proprietaire сущность следующим образом:

public class Proprietaire
{
    public int Id { get; set; }
    public int IdCertification { get; set; }
    public string Name { get; set; }

    public virtual ICollection<Certification> Certifications { get; private set; } = new List<Certification>();
}

И Certification entity:

public class Certification
{
    public int Id { get; set; }
    public int ProprietaireId { get; set; }
    public string Name { get; set; }

    public virtual Proprietaire Proprietaire { get; set; }
}

Моя проблема в том, что я не знаю, как определить отношения, чтобы иметь следующее поведение:

Когда я получаю доступ к свойству Proprietaire моего Certification сущность, мне нужно получить Proprietaire, где Proprietaire.Id == Certification.ProprietaireId. Эта часть работает.

Но когда я получаю доступ к свойству Certifications (list) моего Proprietaire объекта, мне нужно получить все сертификаты

where Certification.ProprietaireId == Proprietaire.IdCertification

Я даже не получаю знать, если это возможно с EF. Но база данных не очень хорошо структурирована, но мне нужно с ней обращаться ...

Есть ли решение?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...