このような「リスト」を検索しているときは DbSet<T>.Where(predicate)
追加できます.Include("xxx")
が、それは単一のオブジェクトには当てはまりません。
virtual
Icollection<T>
呼び出し時にEFにプロパティをロードさせる方法がわかりませんDbSet<T>.Find(id)
このような「リスト」を検索しているときは DbSet<T>.Where(predicate)
追加できます.Include("xxx")
が、それは単一のオブジェクトには当てはまりません。
virtual
Icollection<T>
呼び出し時にEFにプロパティをロードさせる方法がわかりませんDbSet<T>.Find(id)
現在の API では、 Findメソッドで熱心な読み込みを行うことはできません。
Entity Framework 5 のパフォーマンスに関する考慮事項から
Find メソッドを使用する際に考慮しなければならないことは、次のとおりです。
...
また、Find は探しているエンティティのみを返すことに注意してください。関連付けられたエンティティがまだオブジェクト キャッシュにない場合、それらは自動的に読み込まれません。関連付けられたエンティティを取得する必要がある場合は、熱心な読み込みでキーによるクエリを使用できます。
したがって、最も近いのは、たとえば次を使用してクエリを実行することです。SingleOrDefault
dbSet.Include("xxx").SingleOrDefault(i => i.Id == id)
または、検索後に関連エンティティを明示的にロードできます。
using (var context = new Db())
{
var entity = context.SomeSet.Find(id);
context.Entry(entity).Collection(p => p.SomeCollection).Load();
}