我有一个名为payroll的表,它有一个名为payrollId的字段。我还有一个名为EmpMasterPayroll的表,它有一个名为payrollId的字段。我想从工资单中收集EmpMasterPayroll中没有的所有记录。
在纯sql术语中,这可以这样做:
在e.payrollId = p.payrollId上从Payroll p左外连接EmpMasterPayroll e中选择p。*。
任何人都可以编写LINQ to SQL的翻译。我有一个名为dcPayroll的数据上下文。
提前致谢,
答案 0 :(得分:0)
要从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;