2

次の SQL

SELECT * FROM customers

LINQでこれに変換

var customers = from c in customers 
                select c;

from と select が交換される正当な理由はありますか?

私が考えることができる唯一の論理的な理由は、インテリセンのためですか? Intellesens が解決されるためには、何を照会しているのか (スコープ) を知る必要がありますか?

他に交換した理由はありますか?

4

1 に答える 1

9

Select は、LINQ クエリ構文が表すメソッド呼び出しの順序を表すため、交換されます。

これは、

customers.Select(c=>c);

また

customers.Select();

SQL は、先に進む前にステートメント全体を処理することでそれを回避しますが、インテリセンスなどを取得し、選択が有効かどうかを判断するには、最初ではなく最後のステップである必要があります。

FLWOR も参照してください。これは、 、letwhereorderby、およびreturn表す、より近い表現です。from と同等のforが最初にあることに注意してください。select と同等のreturnは最後です。

ここでは、SQL の方が異常です。ドメインを指定する前に、何を操作しているのかを知るにはどうすればよいでしょうか。

于 2008-09-26T20:05:26.027 に答える