我正在尝试在 EF 4.0 查询中创建一个 linq 2 sql,如下面的 sql 查询。
SELECT * FROM Role
LEFT JOIN Queue
ON Role.RoleId = Queue.RoleId
WHERE QueueId = 361
那么我怎么能在 EF 4.0 中做到这一点呢?
我正在尝试在 EF 4.0 查询中创建一个 linq 2 sql,如下面的 sql 查询。
SELECT * FROM Role
LEFT JOIN Queue
ON Role.RoleId = Queue.RoleId
WHERE QueueId = 361
那么我怎么能在 EF 4.0 中做到这一点呢?
通常这是使用在您获取实体时加载的导航属性来完成的,但是您也可以通过以下方式执行此操作:
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} );