Может ли Entity Framework отображать две ассоциации в одну навигацию? - PullRequest
1 голос
/ 01 декабря 2009

У меня есть две простые таблицы, как описано здесь ...

Table = Person
   PersonID  (int, PrimaryKey)
   FirstName (char)
   LastName  (char)

Table = Related
   RelatedID    (int, PrimaryKey)
   Person1      (int, ForeignKey for Person.PersonID)
   Person2      (int, ForeignKey for Person.PersonID)
   Relationship (int)

Созданный объект Person имеет две коллекции навигации. Один для Related.Person1 и другой для Related.Person2. Это боль, потому что это означает, что у меня есть две коллекции для изучения всех отношений, которые имеют отношение к этому человеку.

Мне нужно иметь только одну навигационную коллекцию, которая содержит оба этих набора. Возможно ли это генерировать как часть объекта frameowrk? Единственная альтернатива состоит в том, чтобы создать третью коллекцию самостоятельно, которая содержит совокупный набор сущностей, и кажется, что в этом нет необходимости.

1 Ответ

2 голосов
/ 01 декабря 2009

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

Существует обходной путь, позволяющий сделать это возможным путем сопоставления набора связей с представлением (DefiningQuery) в SSDL.

Ассоциация / связь, поддерживаемая представлением, будет доступна только для чтения, поэтому вы, вероятно, захотите оставить две другие связи на месте, чтобы позволить вам добавлять / удалять из правильной коллекции или когда вы хотите искать в только в одном направлении.

Проверьте этот пост , в котором показаны методы , используемые для более.

Надеюсь, это поможет

Alex

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