链接到实体数子查询
本文关键字:查询 实体 链接 | 更新日期: 2023-09-27 18:06:43
我正试图在linq中对实体(EF4)进行此查询
select Header.Id,
(select count(*)
from Detail
where Header.Id = Detail.headerId) detailcount
from Header
这不起作用,因为EF:
不允许这样做。(Header和Detail都是EntityObjects)
from h in context.Header
select new Header
{
Id = h.Id,
DetailCount = (from d in context.Detail
where d.headerId = p.Id select d).Count()
}
DetailCount是我在Detail Entity (partial class)上添加的一个新属性
上面的Linq查询不能工作,因为我不能投影到映射实体上:
实体不能在LINQ to Entities查询中构造
还有其他方法吗?
下面的
将完成您的任务,因为它们是相关的实体
from h in context.Header
select new Header
{
Id = h.Id,
detailCount = h.Detail.Count()
}
我通过使用匿名类型来解决这个问题。