我有以下SQL查询并尝试转换为LINQ
SELECT *
FROM
(SELECT
*,
ROW_NUMBER() OVER (PARTITION BY ScannedItemId
ORDER BY ScannedDate DESC) AS rn
FROM ItemTracking) A
WHERE
A.rn = 1
AND ScannedLoc = 1
ORDER BY
ItemTrackingId DESC
这将返回当前位置(ScannedLoc
)中的项目ID。
我是LINQ的新手,并且很难将其他示例放在一起,尤其是子查询和Row_Number
函数。
有人可以指引我走正确的道路吗?
答案 0 :(得分:0)
你可以这样做:
var output = (
from i in ItemTracking
group i by i.ScannedItemId into g
select g.OrderByDescending(t => t.ScannedDate).First()
).OrderByDescending(t => t.ItemTrackingId);
但我不确定它会转换成什么SQL。