つまり、さまざまなエンティティの読み込みの効果と呼ばれます。Entity Frameworkには、3つの要素があります。怠惰で、明示的で、熱心にロードするアプローチから選択し、それに応じてコードで使用します。
言い換えると、Entity Frameworkは、関連するエンティティを読み込む3つの方法をサポートしています。
上記の3つの手法については、この記事「関連エンティティの読み込み」で詳しく説明しています。
以下のコードフラグメントは、熱心にロードを使用しています。
context.Resources.Include(x => x.Variations).First();
前者だけが私のために働くように見えます、しかし私はそれがなぜ必要であるかについての説明を見つけることができませんか?
関連するエンティティの読み込みは、積極的な読み込み(上記の関連するエンティティの積極的な読み込みを参照)またはLoadメソッド.First()
を使用して実行できるため、後のコードフラグメント(のないもの)は機能しません。
context.Resources.Include(x => x.Variations).Load();
// or a sample like
// Load the posts related to a given blog
context.Entry(blog).Collection(p => p.Posts).Load();
編集:何らかの理由で遅延読み込みと混同された場合は、このオプションを使用して、コンテキストでそれをオフにすることができます。
public MyContext()
{
this.Configuration.LazyLoadingEnabled = false;
}