ここで本当に明白な何かが欠けているに違いないと思います。プロジェクトフレームワークとして.Net 4.5を使用して、Visual Studio 2012を使用しています。最初にデータベースを使用して、データベースからモデルを生成します (データベースからモデルを更新し、テーブルを選択します)。デフォルトのエンティティ ジェネレーターを使用して、明示的に EF5.x DBContext ジェネレーターを選択してみました。また、設計時にモデル プロパティで、実行時にコンテキスト構成で遅延読み込みが有効になっていることを確認しました。それにもかかわらず、私のプロパティは遅延ロードを拒否します。
基本的な例を設定しました。テーブル A には、テーブル B との 1 対多の関係があります。モデルによって生成されたコードには、この関係のためにエンティティ A にオーバーライド可能な/仮想 ICollection プロパティが含まれています。次に、Find() を実行して 1 つのエンティティ A を読み込み、関係 (objA.EntityBList.Count() など) にアクセスしますが、コレクションは常に空です。entityB をロードすると、entityA プロパティは常に Nothing になります。
これは、このように箱から出してすぐに動作するはずですか? 以前は主に ObjectContext を使用していたので、これは私にとって少し新しいことです。
さらにテストすると、私の単純な例が実際に機能するように見えるため、問題は特定の edmx ファイルにあるようです。では、なぜ edmx ファイルが遅延読み込みをサポートするモデルを生成しないのでしょうか? さまざまな実体化方法がプロキシではなく POCO オブジェクトを生成していることがわかります。これは、遅延読み込みが機能しない理由を説明していますが、なぜプロキシを取得しないのでしょうか。構成は、プロキシが有効になっていることを示しています。