Компилятор оценит и преобразует ваши выражения запроса в эквивалентный лямбда-синтаксис перед дальнейшей компиляцией кода. Так что код, который начинается как
var query = from foo in foos
where foo.Bar == someString
select new
{
Baz = foo.Baz,
Id = foo.Id
};
Будет преобразован в лямбда-версию
var query = foos.Where(f => f.Bar == someString).Select(f => new { Baz = f.Baz, Id = f.Id });
То же самое произойдет с вашими сложными объединениями, группировками и т. Д.