2011-01-15 20 views

答えて

3

これらの用語は、異なるコンテキストでかなりの周りに投げてきたし、最初の二つは、しばしば互換的に使用されている - ここに私のテイクがあります:

遅延ロード - 多くの場合、オンデマンドのナビゲーションプロパティを意味するために使用(例: thisOrder.Customerは、アクセスしたときにのみ顧客を読み込みます)。

遅延ロード - 定期的なプロパティ(例:Customer.Notes)を設定すると、デザイナで読み込みを遅らせることができます。その後、Customerオブジェクトはロードされませんが、遅延ロードと同じようにオンデマンドでロードされます。

Eager loading - ナビゲーションプロパティ(または遅延プロパティ)が確実に必要な場合は、LINQ to SQLにDataContextのLoadOptionsを使用して同時に取得するよう指示できます。これは、1つのクエリから、最初のクエリで返されたエンティティごとの1つ以上のクエリ(SELECT N + 1の問題)から、結合を生成することに切り替わります。

+0

ありがとうDamienG – Vikram

0

https://github.com/jakubmaguza/Lazy-vs-Deferred-vs-Normal

あなたは違いを見つけることができます。ファイルからコードをダウンロードまたはコピーして貼り付け、開始ボタンを押してください。次のような出力が表示されます。 enter image description here

デバッグアプリケーションも役立ちます。

関連する問題