C#でLINQのクエリを書く方法は2つあります。 1つはメソッド形式です。LINQのメソッドを生で書きます。 もう1つはクエリ式で、専用のSQL風構文が用意されています。 このうち見かける頻度が高いのはメソッド形式です。自由度が高く何でもできます。 しかし、教科書やマニュアルなどに出てくる頻度はクエリ式の方が多いと感じます。こっちの方が基本的なのでしょう。 さて、どうして同じ機能を実現する書式が2つあるのでしょうか。 それは、LINQがもともとSQL文をソースに書き込めればいいのにね、というところからSQLそっくりの構文が用意され、それを使うためのサポートメソッドが整備されたからです。でも、データベースと関係利用者にはSQLなど関係ないし、メソッドを直接使った方がより柔軟性が高いので、クエリ式はあまり好まれていないように感じられます。 (私? 私も普段はメソッド形式しか使いません) 罠の数