【发布时间】:2010-11-02 16:15:17
【问题描述】:
我想将一组条件 where 子句附加到 ObjectSet 的末尾。但是,子句不会执行,而是运行原始查询,例如:
using (Entities context = new Entities()){
var q = context.AuditLogs;
q.Where(o => o.WebsiteId == 1);
}
where子句不执行,返回完整的结果集 我可以改为使用 IQueryAble,如下所示:
var q = context.AuditLogs.AsQueryable();
q = q.Where(o => o.WebsiteId == 1);
但是,这让我失去了使用 .Include 来急切加载我的相关实体的能力。
【问题讨论】:
-
在您的第一个示例中,您没有将 q 设置为 q.Where(o => o.WebsiteId == 1);
-
是的,你不能这样做(至少它不允许我这样做)因为它不能从 ObjectSet 隐式转换为 Iqueryable
标签: c# linq linq-to-entities entity-framework-4