私は Asp.net MVC Web サイトを持っています。この Web サイトでは、データ ストアでエンティティ フレームワークを使用してデータベースにアクセスしています (POCO エンティティを使用)。
理由はわかりませんが、遅延読み込みが行われていないように見えることがあります。
動作しないコードの例:
using(BusinessEntities context = new BusinessEntities()){
User user = context.Users.First(u=>u.Id == parameterId);
foreach(Post post in user.Posts){//user.Posts is null here and thrown an exception
//.. doing some things
}
}
しかし、私がこれを行うと、完全に機能します
using(BusinessEntities context = new BusinessEntities()){
User user = context.Users.Include("Posts").First(u=>u.Id == parameterId);
foreach(Post post in user.Posts){//user.Posts is null here and thrown an exception
//.. doing some things
}
}
しかし、遅延読み込みが機能しない理由がわかりません。
- コンテキストは破棄されません
- プロジェクトの匿名オブジェクトなどではありません
- 私のコードには、これを示す必要のない場所がたくさんあることを知っています.Include と相対的な作業を行う
- edmx モデルで Lazy Loading Enabled を True に設定しました
何がこの動作につながる可能性がありますか?