【发布时间】:2010-12-03 00:23:22
【问题描述】:
我想在 Linq to Entities 中实现以下目标:
获取所有没有应用程序或应用程序状态为 != 4(已完成)的查询
select e.*
from Enquiry enq
left outer join Application app
on enq.enquiryid = app.enquiryid
where app.Status <> 4 or app.enquiryid is null
之前有没有人在不使用 DefaultIfEmpty() 的情况下完成此操作,Linq to Entities 不支持该功能?
我正在尝试向 IQueryable 查询添加过滤器,如下所示:
IQueryable<Enquiry> query = Context.EnquirySet;
query = (from e in query
where e.Applications.DefaultIfEmpty()
.Where(app=>app.Status != 4).Count() >= 1
select e);
谢谢 标记
【问题讨论】:
-
EF .NET 4.0 中包含 DefaultIfEmpty。
-
感谢 Damien - 期待 .NET 4 中的 EF 增强功能
标签: linq linq-to-entities left-join outer-join