2007年12月13日

LINQ to SQL 遅延ローディング

   このエントリーをはてなブックマークに追加 Clip to Evernote
LINQ to SQL のデザイナー画面で、エンティティ・クラスのDelay Loaded プロパティ
をFalse から true にすることで、遅延ロードにすることができる。
たとえば、CategoriesテーブルのPicture項目を遅延ロードに設定すれば、

var categories = from c in db.Category
where c.CategoryID < 3
select c;
foreach (var c in categories) {
Console.WriteLine(c.CategoryName);
}


というコードを起動しても、Picture項目を取得する SQL文は発行されない。

foreach (var c in categories) {
byte[] pic = c.Picture;
}


と参照したときに、初めて、Picture項目を取得する SQL文が発行される。

すごいなー。


この記事へのコメント
あれ? cat → categories ですか?
Posted by かるあ at 2007年12月13日 23:00
ほんとだ、間違えてますね。直しときます。

どうもありがとうございます。
Posted by Gushwell at 2007年12月14日 21:16
 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/51296029