LINQってメソッド構文とクエリ式の構文の2つがあります。どっち使います?という話ですが個人的な見解として、メソッド構文がLINQの全機能にフルアクセスできるという点でメソッド構文を使用しています。 LINQのメソッド構文とクエリ式の構文の対応は以下のページにまとまっています。
Query Expression Syntax for Standard Query Operators
ちなみにクエリ式の構文のメリットとしては多段SelectManyが見やすいという点があります。
var a = from h in hoge from f in fuga from b in bar select new { h, f, b };
メソッド構文だとこういう感じになる。
var a = hoge.SelectMany(_ => fuga, (h, f) => new { h, f }) .SelectMany(_ => bar, (hf, b) => new { hf.h, hf.f, b });
これの数がちょっと増えてくるとSelectManyのメソッド構文のほうがつらくなってきます。といっても、SelectManyを、超たくさん書くことって限られてるので、そんなに困ることはないです。
ということで、メソッド構文推しですよ!という話しでした。