エンティティフレームワークを初めて使用していて、データが実際にデータベースから取得されたときに不思議です。たとえば、次のようになります:エンティティフレームワークの実行
from order in orderQuery where order select car;
データはデータベースから選択されますか、それとも最初のコードは次のようなコードですか?
(from order in orderQuery where order select car).ToList();
エンティティフレームワークを初めて使用していて、データが実際にデータベースから取得されたときに不思議です。たとえば、次のようになります:エンティティフレームワークの実行
from order in orderQuery where order select car;
データはデータベースから選択されますか、それとも最初のコードは次のようなコードですか?
(from order in orderQuery where order select car).ToList();
LINQクエリには遅延実行と呼ばれるプロパティがあります。これは、クエリの構築と実行を2つの異なる部分に分けます。あなたが与えた最初の例はクエリを定義するだけなので、何も実行されません。しかし、2番目のクエリは、クエリが完了するまで実行されます。
エンティティフレームワークは遅延ロード方式で動作し、データが実際に必要な場合にのみクエリされます。
したがって、クエリは2番目の例でのみ実行されます。