比方說,我有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