の効果はありませんエンティティフレームワーク(v4)エンティティのバーチャルナビゲーションプロパティのマーキング?エンティティフレームワークの仮想プロパティ
遅延読み込みを使用せず、読み込みが適切に行われない場合、読み込まれていないプロパティにアクセスするとどうなりますか?
遅延読み込み以外の影響がありますか、または仮想ナビゲーションプロパティを必要とする主な機能ですか?
の効果はありませんエンティティフレームワーク(v4)エンティティのバーチャルナビゲーションプロパティのマーキング?エンティティフレームワークの仮想プロパティ
遅延読み込みを使用せず、読み込みが適切に行われない場合、読み込まれていないプロパティにアクセスするとどうなりますか?
遅延読み込み以外の影響がありますか、または仮想ナビゲーションプロパティを必要とする主な機能ですか?
2つの効果があります。 1つは遅延ロードであり、プロパティがvirtual
でない場合は機能しません。しかし、怠惰なローディングはいつもあなたが望むものではありません。
第2は変化検出です。純粋なPOCOを使用している場合、またはプロキシを使用していてもプロパティーをvirtual
にしない場合、変更の検出がより複雑になります。
変更検出hereについて詳しく知ることができます。
Deferred LoadingがPOCOオブジェクトでサポートされているかどうか疑問に思うなら、POCOでDeferred Loadingを取得できることを知ってうれしいと思います。
では、仮想としてレイジーロードしたいプロパティを宣言します。
あなたはPOCOエンティティと繰延ロードのサポートを得るために行う必要がある二つのことがあります。これらのプロパティは、ICollectionを実装する任意のコレクション型でも、1/0..1の関係を表す参照でもかまいません。
MSDN's "POCO in the Entity Framework" postを参照してください