我很努力地將MySQL查詢轉換爲C#中的linq語法(用於實體框架)。 MySQL查詢看起來像這樣:Linq在select中選擇
SELECT *
FROM Availability as tableData
WHERE ID = (
SELECT Availability.ID
FROM Availability
WHERE Availability.FrameID = tableData.FrameID
ORDER BY Availability.Date DESC limit 1)
我不知道如何轉換此部分FROM table AS someName
。
到目前爲止,我有唯一的解決辦法,是執行原始的SQL查詢,如:
dataContext.Availability.SqlQuery("SELECT * FROM Availability as tableData WHERE ID = (SELECT ID FROM Availability WHERE FrameID = tableData.FrameID ORDER BY Availability.Date DESC limit 1)").ToArray();
但它會很高興地知道,如果LINQ可以提供這樣的查詢。
在此先感謝您的答案!
這裏子查詢的要點是什麼? –
對於每個FrameID,我只需要一條記錄(插入的最大日期) – user3550149
通過一個ID獲取一個實體將如下簡單:entity = context.Table.Find(id);在Linq。我錯過了什麼嗎? –