Convertir SQL Sub Query a In a Linq Lambda
¿Cómo convierto la siguiente instrucción SQL en Lambda Expression o Linq Query?
La siguiente consulta obtiene la respuesta más reciente para cada pregunta. O para expresarlo de otra manera, obtenga cada pregunta con la respuesta más reciente.
También esto será ejecutado por Entity Framework.
SELECT Answers.*
FROM Answers
Where AnswerID IN
(
SELECT Max(AnswerID) AnswerID
FROM Answers
GROUP BY QuestionID
)
Aquí hay otra forma de ver la consulta anterior usando una unión interna
SELECT answers.*
FROM answers
INNER JOIN
(
SELECT Max(answerID) answerID --, QuestionSiteID
FROM answers
GROUP BY QuestionID
) t ON
answers.answerID = t.answerID
He leído que el método LINQ Contains es subóptimo para consultas que acceden a SQL.
LINQ to Sql y .Contains () trap.