linq计数与多个表连接

时间:2010-10-11 00:16:18

标签: entity-framework join linq-to-entities count

假设我有3张桌子:推车,篮子和鸡蛋,其中一个篮子可以包含许多鸡蛋,推车里有很多篮子。每个篮子都有一个映射到购物车的外键,每个鸡蛋都有一个映射到篮子的外键。

我需要返回一个包含这些列的表:

-Cart Name - 购物车中的篮子数量 - 购物车中的鸡蛋数量。

每张桌子都是EF,我正在使用linq。它是连接和计数的组合,我正在圈子里移动。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

我自己是一名LINQ-to-SQL人,但我相信EF自动生成一对多属性IEnumerable,所以这应该适合你:

from cart in Carts
select new
{
    CartName = cart.Name,
    BasketCount = cart.Baskets.Count(),
    EggCount = cart.Baskets.SelectMany(b => b.Eggs).Count()
}