在Entity Framework LINQ Query中包含第二个查询

时间:2012-02-06 18:08:31

标签: c# linq lambda

我有一个表“Houses”和“Cats”,其中包含“Id”和“HouseName”以及“Id”和“CatName”列。

现在我有了一张桌子“HouseCatAssignments”,我在那里存储猫​​和房子之间的关系(猫可以住在一个以上的房子里,一个房子可以存放一只以上的猫)。

此表如下所示: Id,CatId,HouseId

“CatId”绑定到Cats.Id和HouseId绑定到Houses.Id。

现在我想在数据网格中显示表格“House”,该数据网格还包含“CatCount”字段 - 一个计算器,显示该房屋中有多少只猫的价值。

我现在应该如何查询我的表格,以便我拥有“Houses”的所有值以及包含特定房屋的 Cat-Count 的附加列?

1 个答案:

答案 0 :(得分:2)

对于Entity Framework,它应该自动添加导航属性,允许您执行以下查询:

var housesWithCount = context.Houses
                             .Select( h=> new 
                              { 
                                 Id = h.Id, 
                                 HouseName = h.HouseName,
                                 CatCount = h.Cats.Count() 
                              });