Linq 使用EF";包括「;并包括在何处的相关表格
到目前为止,我认为我可以做到:Linq 使用EF";包括「;并包括在何处的相关表格,linq,entity-framework-4.1,Linq,Entity Framework 4.1,到目前为止,我认为我可以做到: var num = db.MyTable.Include(x => x.RelatedTable) .Count( x.idTenant == CurrentTenantID && x.Active && x.RelatedTable.SomeProperty.Value == true); 这总是返回零记录。 我是否错误地假设在where部分可以使用关联表 顺便说一下。。
var num = db.MyTable.Include(x => x.RelatedTable)
.Count( x.idTenant == CurrentTenantID && x.Active &&
x.RelatedTable.SomeProperty.Value == true);
这总是返回零记录。
我是否错误地假设在where部分可以使用关联表
顺便说一下。。。“SomeProperty”可以为空,这就是“.Value”的原因
我使用的是实体框架4.1。(首先是数据库)如果只想访问
Where
部分中的导航属性,则不需要使用Include
Include
仅用于从数据库向应用程序提取(即时加载)相关记录以及主记录,但如果只想统计记录,则没有意义。是否尝试获取记录数?如果是这样,为什么您甚至需要包含
?实体框架在评估您的计数
条件时,将延迟加载为您设置的相关表
实体。此外,如果SomeProperty
是bool?
,在检查值本身之前,应该先检查它是否有值
var num = db.MyTable.Count(x =>
x.idTenant == CurrentTenantID &&
x.Active &&
(x.RelatedTable.SomeProperty.HasValue &&
x.RelatedTable.SomeProperty.Value));
谢谢,我认为“包括”在这种情况下是强制性的。谢谢,我认为“包括”在这种情况下是强制性的。