Wygląda na to, że większość LINQ jest napisana z wyrażeniami lambda. Jak mam zamiar przepisać tę linq używając lambda, trochę pomieszania ze stylem (szczególnie z łączeniami)?Jak przepisać ten LINQ za pomocą sprzężenia z wyrażeniami lambda?
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 };
Naprawdę nie musisz tego przepisywać, tak jak jest, szczerze mówiąc. etimes Używam jednego stylu, a czasem drugiego, i to jest przypadek, w którym prawdopodobnie użyłbym składni zapytania. Z [MSDN] (http://msdn.microsoft.com/en-us/library/bb397676.aspx): "Z reguły podczas pisania zapytań LINQ zalecamy, jeśli to możliwe, składnię zapytań i składnię metod w razie potrzeby . " –
Podoba mi się ten formularz dla JOIN's. Przy "wyrażeń Lambda" wymaga podania 4 argumentów (plus odbiornik), które, mimo że są takie same jak powyżej, wydają się bardziej zagracone. –
Chociaż składnia zapytania jest łatwiejsza do łączenia, składnia lambda jest łatwiejsza do debugowania. Szczegółowe informacje można znaleźć na stronie https://www.simple-talk.com/dotnet/.net-framework/linq-secrets-revealed-chaining-and-debugging/ – Roger