linq2sql, один ко многим через отношения - PullRequest
1 голос
/ 18 июня 2009

У меня есть OrgUnits, OrgUnitJobs,
Сотрудники, OrgUnitJobEmployee (эта таблица может показаться избыточной в данном контексте, здесь, к вашему сведению).

У единиц org есть задания, определенные в OrgUnitJobs (1..n)сотрудник (также может иметь много заданий) имеет задания, определенные в таблице OrgUnitJobEmployee.и у сотрудника есть PrimaryJob (1..1) в таблице OrgUnitJobs, поэтому как мне получить список всех сотрудников, основная работа которых находится в этом органе?

Я использую LINQ2SQL ORM, поэтому я имеючастичный класс OrgUnit, я хотел бы иметь возможность получить этот список сотрудников в этом частичном классе ORM, без написания другого запроса или выбора linq.Я просто не хочу идти в свой класс OCRepository и писать там GetEmployeeListForOrgUnit (orgUnitId), это звучит неправильно.

1 Ответ

0 голосов
/ 19 июня 2009

Проверьте DataContext.LoadOptions , чтобы настроить то, что включено в первый запрос. Это означает, что он выполнит объединение вместо N подзапросов.

В вашем случае что-то вроде:

DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<Job>(j => j.PrimaryEmployees);
dbContext.LoadOptions = dlo;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...