从EF获取Count值

时间:2010-01-22 18:53:59

标签: entity-framework

我有一个人员表,我想要一个按ID返回一个人的方法,包括汽车数量,房屋数量等。

我需要一起加载这些表吗?我看到EF生成的SQL,是一个怪物。

例如:

public Person Get()
{
    return context.People.Include("Cars").Include("Houses").Where(x=> x.Id = 1).First();
}

我的观点使用此:

Name: <%= people.Name%>
Cars: <%= people.Cars.Count%>
Houses: <%= people.Houses.Count%>

1 个答案:

答案 0 :(得分:2)

你可以这样做

var result = (
   from p in ctx.People
   where p.Id == 1
   select new {
      Person = p, 
      Cars = p.Cars.Count(), 
      Houses = p.Houses.Count()
   }).FirstOrDefault();

这将带回计数。