2012-02-14 2 views
0

この質問はおそらく非常に基本的なことです。したがって、私はプロジェクトの周りのすべての周りをチェックしてきました。EF4でレイジーロードが機能しない(関係は常にNULLです)

私はデータベースから読み取って、POCOエンティティの束を使用しています。私はプロパティをマークした

this.ContextOptions.LazyLoadingEnabled = true; 
this.ContextOptions.ProxyCreationEnabled = true; 

_entities1 = CreateObjectSet<Entities1>(); 
_entities2 = CreateObjectSet<Entities2>(); 

ドキュメントに読んで、私は、仮想として自動的にロードしたいと思います:コンテキストを作成するときに、私はプロキシと遅延読み込みを可能にしています

public virtual List<Entity1> GetEntities { get; set; } 

プロパティがあるしかし、常にNULLです。以下のようなコードを実行する場合:

foreach (var forEntity in colection) 
{ 
    object x = forEntity.Entities1; 
} 

「forEntity」は、生成されたプロキシがどのように私は見ることができますが、遅延ロードする必要があり、すべてのプロパティがNULLです。

ありがとうございます! :)

答えて

0

あなたの関係のEntity1テーブルに子レコードがありますか?そうでない場合は、空のコレクションの代わりにnullコレクションを取得します。

+0

こんにちはジョルジョ、私は正しく理解しているか分からない。 EDMXでは、関係を1対多に定義しました。プロパティ名とナビゲーションプロパティ(EDMX内)は同じです。 – IoChaos

+0

こんにちは、怠惰に読み込まれたプロパティEntities1(リストと仮定)は、親エンティティ(forEntity)の子レコードがない場合、空のListの代わりにnullオブジェクトを返します。 –

+0

申し訳ありませんジョルジョ、良い点。残念ながら、子レコードがあります。 ¡ありがとう! (エンティティはEDMXにリンクされているように見えます) – IoChaos

関連する問題