比方说,我有3张桌子:购物车,篮子和鸡蛋,其中一个篮子可以包含许多鸡蛋,而购物车包含很多篮子。每个篮子都有一个映射到购物车的外键,每个蛋都有一个映射到篮子的外键。linq合并2个查询
我需要返回一个包含以下3列的表:
购物车名|购物车中篮子的数量|车中的鸡蛋数量。
每张表都是一个EF,我正在使用linq和VB。
到目前为止,我有2个查询:一个返回列的购物车名称和计数篮,另一个返回购物车名称和计数的鸡蛋。 如何组合这两个结果表,以便在一个表中获得结果?
Dim query1 = (From cart In myEntities.Carts
Where cart.UserID = TheUserID
Join baskets In myEntities.Baskets On baskets.CartID Equals cart.CartID
Select cart.CartName, cart.baskets.Count()).Distinct()
Dim query2 = (From cart In myEntities.Carts
Where cart.UserID = TheUserID
Join baskets In myEntities.Baskets On baskets.CartID Equals cart.CartID
Select cart.CartName, baskets.Eggs.Count()).Distinct()
感谢您的帮助。
我修改了查询以使您的方法具有EggCount,cartname和EggCount:我应该有3列,第一个和第三个给出相同的结果。然而,第一列给我的每个购物车的蛋数,第二列包含相同的购物车三次,然后是两个空的cartnames,第三列显示5个计数,前3个计数显示我不能根据原始数据和2个零重现。有5辆车,其中3个有鸡蛋,2个没有。 ahhhhh,这是在高峰期的发卡! – user471807 2010-10-11 18:34:59
我真的不明白第一列和第三列有什么区别,为什么你需要这个设置?你最后想要做什么? – jaraics 2010-10-12 07:21:11