我试图将以下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