使用实体框架和Lambda表达式进行左外连接

J. *_*son 4 c# lambda linq-to-entities entity-framework

Employee
id, name, datejoin, deptID
Run Code Online (Sandbox Code Playgroud)

和另一个表

Marketing 
id, name, deptID
Run Code Online (Sandbox Code Playgroud)

我想要做的是从Marketing中的Employee表中搜索deptID以查看它是否存在,如果它不存在,则想要将Employee表中的name和deptID添加到Marketing表中.基本上我认为它是外部连接.

我想要做的是使用lambda表达式和EF我是这个领域的新手,所以想知道如何实现这一点.我已经创建了实体,需要弄清楚lambda表达式

tTlEntities sde = new tTlEntities();
sde.t_Marketing.Where(x=>x.deptID == t_Employee.deptID).
Run Code Online (Sandbox Code Playgroud)

这就是我走了多远,我知道需要一些外部连接.请帮助

小智 7

可以通过员工对营销的左外部联接和对员工的空营销结果的检查来完成,或者您可以使用不存在的LINQ to Entities:

tTlEntities sde = new tTlEntities();
var employeeQuery = sde.t_Employee.Where(
                     e=> !sde.t_Marketing.Any(m => m.deptID == e.deptID));
Run Code Online (Sandbox Code Playgroud)