Entity Framework Ассоциации - PullRequest
1 голос
/ 29 июля 2009

Я создал модель с Entity Framework из трех таблиц базы данных:

  1. Агенты
  2. AgentsGroups
  3. Группы

AgentsGroups - это простая таблица с тремя столбцами: 1 идентификатор и два внешних ключа, связывающих агентов и группы (каждый агент может иметь несколько групп). Довольно простые вещи.

Entity Framework правильно распознает отношения между таблицей. Теперь с помощью LINQPad я могу получить имена всех групп, связанных с агентом, начиная с идентификатора агента:

from a in Agents
    join ag in AgentsGroups on a.Code equals ag.AgentCode
    join g in Groups on ag.GroupCode equals g.Code
    where a.Code == 10199
    select g.Name

Это, однако, не работает в самой программе, поскольку на самом деле AgentCode и GroupCode отображаются как ассоциации, а не поля.

Полагаю, мне нужно использовать Include, но я никогда не использовал его, поэтому запрашиваемая помощь такова: как я могу перевести данное полуработающее выражение linq в аналогичное выражение, выдающее имена групп, но использующие ассоциации? 1018 *

Заранее спасибо

1 Ответ

2 голосов
/ 29 июля 2009

Гораздо проще в EF:

from a in Agents
where a.Code == 10199
from g in a.Groups
select g.Name

Вы почти никогда не используете join в EF.

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