代码之家  ›  专栏  ›  技术社区  ›  Felipe Pessoto

仅从EF获取计数值

  •  0
  • Felipe Pessoto  · 技术社区  · 16 年前

    我需要把这些桌子放在一起吗?我看到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 回复  |  直到 16 年前
        1
  •  2
  •   Craig Stuntz    16 年前

    你可以这样做

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