如何使用LINQ和Entity Framework实现连接

时间:2012-04-09 06:18:02

标签: c# asp.net linq entity-framework

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

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

那我怎么能在EF 4.0中做到这一点?

2 个答案:

答案 0 :(得分:4)

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

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*/}

答案 1 :(得分:3)

尝试以下内容我希望有所帮助

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

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} );