看起來大多數LINQ是用lambda表達式編寫的。我該如何着手使用lambda重寫這個linq,有點混淆樣式(尤其是與連接)?如何使用lambda表達式連接重寫此LINQ?
var responses =
from c in questionRepository.GetReponses()
join o in questionRepository.GetQuestions() on
c.QuestionID equals o.QuestionID
where c.UserID == 9999
orderby o.DisplayOrder
select new { o.QuestionText, c.AnswerValue };
你真的不需要重寫它,它很好,因爲它是誠實的。 etimes我使用一種風格,有時使用另一種風格,這是我可能會用於查詢語法的一種情況。來自[MSDN](http://msdn.microsoft.com/zh-cn/library/bb397676.aspx):'通常,當您編寫LINQ查詢時,我們建議您儘可能使用查詢語法,並在需要時使用方法語法。' –
我喜歡JOIN的這種形式。對於「Lambda表達式」,它需要指定4個參數(加上接收器),儘管與上述相同,但看起來更加混亂。 – 2012-12-03 21:30:31
雖然查詢語法對連接更容易,但lambda語法更易於調試。詳情請參閱https://www.simple-talk.com/dotnet/.net-framework/linq-secrets-revealed-chaining-and-debugging/ – Roger