LINQ to SQL оставил внешнее соединение - PullRequest
0 голосов
/ 07 апреля 2011

У меня есть таблица с именем payroll, в которой есть поле с именем payrollId. У меня также есть таблица с именем EmpMasterPayroll, в которой есть поле с именем payrollId. Я хочу собрать все записи из фонда заработной платы, которых нет в EmpMasterPayroll.

В чистом виде это можно сделать следующим образом:

Выберите p. * Из расчета заработной платы p, левого внешнего объединения EmpMasterPayroll e для e.payrollId = p.payrollId.

Может кто-нибудь написать перевод LINQ to SQL этого. У меня есть контекст данных, который называется dcPayroll.

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

1 Ответ

0 голосов
/ 07 апреля 2011

Чтобы получить все записи из Payroll, у которых нет записи в EmpMasterPayroll, это должно работать:

from p in dcPayroll.Payroll
where p.MasterPayroll == null
select p;

Я предполагаю, что у вас есть связь linq to sql между двумя таблицами, а дочерняя таблица называется «MasterPayroll».

Альтернатива:

from p in dcPayroll.Payroll
where !(from mp in dcPayroll.MasterPayroll select mp.payrollid).Contains(p.payrollid)
select p;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...