我正在尝试在linq到实体(EF4)
中执行此查询select Header.Id,
(select count(*)
from Detail
where Header.Id = Detail.headerId) detailcount
from Header
这不起作用,因为EF不允许这样做:
(标题和细节是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查询不起作用,因为我无法投影到映射的实体:
The entity cannot be constructed in a LINQ to Entities query
还有其他方法吗?
答案 0 :(得分:3)
将完成任务,因为两者都是相关实体
from h in context.Header
select new Header
{
Id = h.Id,
detailCount = h.Detail.Count()
}
答案 1 :(得分:0)
我通过使用匿名类型解决了这个问题。