如何将以下SQL语句转换为Lambda表达式或Linq查询?
以下查询获取每个问题的单个最新答案。或者换句话说,获取具有最新答案的每个问题。
此外,这将由Entity Framework执行。
SELECT Answers.*
FROM Answers
Where AnswerID IN
(
SELECT Max(AnswerID) AnswerID
FROM Answers
GROUP BY QuestionID
)
这是使用内连接查看先前查询的另一种方式
SELECT answers.*
FROM answers
INNER JOIN
(
SELECT Max(answerID) answerID --, QuestionSiteID
FROM answers
GROUP BY QuestionID
) t ON
answers.answerID = t.answerID
我已经了解到,LINQ的Contains方法在访问SQL时查询效率不高。
LINQ to Sql和.Contains()的陷阱。
where a.QuestionID == s.QuestionID
。 - Andomar