我試圖將以下SQL語句轉換爲linq查詢,但出於某種原因,我無法使其工作!將SQL查詢轉換爲Linq Lambda語句
SELECT o.ITEMID, COUNT(o.ITEMID) AS COUNT, MAX(i.QUANTITY) AS Quantity
FROM ORDERS AS o LEFT OUTER JOIN
INVENTORY AS i ON o.ITEMID = i.ITEMID
GROUP BY o.ITEMID
我發現this link,有類似的問題有人,但我不能似乎這適用於我需要什麼。
感謝您的全力幫助。
這是我的代碼至今
Dim castleavailability = _
From o In orders _
From i In inventorys _
Where (x >= o.ITEMID = i.ITEMID)
Group New With {o, i} By o.ITEMID Into oi()
Select New With {.ItemId = oi.Key, .Count = oi.Select(y >= y.o.ItemId).Count(), .Quantity = oi.Select(y >= y.i.Quantity).Max()}
現在我得到的錯誤是「方法的定義‘OI’是不是在這種情況下使用。」指的是「新組合」線。關於如何解決這個
非常感謝
你嘗試過這麼遠嗎?而「不起作用」不是錯誤描述!不編譯?它會拋出一個運行時異常嗎?它運行但返回錯誤的結果? – 2012-03-07 14:58:32
它是Linq-to-Sql還是Linq-To-Entities?它們不是同一件事。 – cadrell0 2012-03-07 15:02:01
嗨,對不起,它是實體的LINQ。我不是故意單擊Linq到SQL – user789433 2012-03-07 15:23:13