如何使用 LINQ 和 EntityFramework 实现联接

本文关键字:实现 EntityFramework 何使用 LINQ | 更新日期: 2023-09-27 18:30:40

我正在尝试在EF 2查询中创建一个linq 4.0 sql,如以下sql查询。

SELECT * FROM Role
LEFT JOIN Queue 
ON Role.RoleId = Queue.RoleId 
WHERE QueueId = 361

那么如何在 EF 4.0 中执行此操作呢?

如何使用 LINQ 和 EntityFramework 实现联接

通常,

这是使用获取实体时加载的导航属性完成的,但是您也可以使用以下方法执行此操作:

from r in Roles
from q in Queues
where r.RoleId == q.RoleId
where q.QueueId == 361
select new { r.RoleId, q.QueueId /*other bits you want*/}

请尝试以下操作,希望对您有所帮助

我建议搜索更多关于联接的信息

var result=(from p in Roles
join pa in Queue on p.RoleId equals pa.RoleId into temproles
from addresses in temproles.DefaultIfEmpty() where temproles.queueId = 361
select new { p, pa} );