2009-05-09 16 views
0

エンティティフレームワークを初めて使用していて、データが実際にデータベースから取得されたときに不思議です。たとえば、次のようになります:エンティティフレームワークの実行

from order in orderQuery where order select car; 

データはデータベースから選択されますか、それとも最初のコードは次のようなコードですか?

(from order in orderQuery where order select car).ToList(); 

答えて

1

LINQクエリには遅延実行と呼ばれるプロパティがあります。これは、クエリの構築と実行を2つの異なる部分に分けます。あなたが与えた最初の例はクエリを定義するだけなので、何も実行されません。しかし、2番目のクエリは、クエリが完了するまで実行されます。

1

エンティティフレームワークは遅延ロード方式で動作し、データが実際に必要な場合にのみクエリされます。

したがって、クエリは2番目の例でのみ実行されます。

関連する問題