すべてのPOCOについて、ナビゲーションとコレクションのプロパティはすべてnullです。コード1番目の自動genプロキシクラスのナビゲーションとコレクションのプロパティがnull
いくつかの背景を教えてください。私はEF 4.3.1を使用して複雑なコードの最初のプロジェクトを持っています。プロキシの生成が無効になりました。コレクションとナビゲーションのプロパティは手動で管理されていました。
プロキシの作成と遅延ロードを有効にしました。デバッグすると、私のエンティティ(私の知られているPOCOタイプにキャストされている)が実際には自動生成されたプロキシクラスになっていることがわかります。ここまでは順調ですね。
ここで、ナビゲーションプロパティを見ると、nullになります。同様に、コレクションのプロパティはnullです。
リフレクションを使用すると、プロキシクラスHASがナビゲーションとコレクションのプロパティをオーバーライドしていることがわかります。
すべてのナビゲーションとコレクションのプロパティは仮想です。例えば:
public virtual NavigationType NavigationName { get; set; }
public virtual ICollection<CollectionType> CollectionName { get; set; }
また、すべてのテーブルは、次のような初期化されています
modelBuilder.Entity<TEntity>()
.Map(m =>
{
m.MapInheritedProperties();
m.ToTable("TableName");
});
は私も期待通りのデータベースが生成されていることを確認することができます。外部キーはすべて存在し、予想されるフィールドに関連付けられています。
なぜnullですか?これをさらにどのように診断できますか?
大きな質問です。 – mattytommo
これらのコレクションのプロパティは、あなたのクラスで 'virtual'とマークされていますか? – alex
要件を見てください - http://msdn.microsoft.com/en-gb/library/vstudio/dd468057(v=vs.100).aspx – devdigital