[解決済み】Entity Framework 4.1 POCO Code Firstでvirtualキーワードはどのような効果を持つことができますか?
質問
を使用していますか?
virtual
キーワードは、EF Code Firstのプロパティで使用された場合、効果がありますか?誰か、さまざまな状況におけるその影響のすべてを説明することができますか?
例えば、以下のような制御ができることは知っています。 レイジーローディング -- ICollection/one-to-many リレーションシップのプロパティで virtual キーワードを使用すると、デフォルトで遅延ロードされ、 virtual キーワードを省略すると、イーガーロードされます。
他にどのような効果があるのでしょうか?
virtual
キーワードは、EFでPOCOエンティティを使用する際にどのような効果がありますか?を使用することをデフォルトにする必要がありますか?
virtual
をすべてのプロパティで使用するか、使用しないようにするか?
解決方法は?
今のところ、こんな効果を知っています。
-
レイジーローディング
: 任意
virtual
ICollections は、特に指定しない限り、レイジーロードされます。 -
より効率的な変更追跡 . 以下の要件をすべて満たす場合、仮想プロパティをフックすることで、変更追跡をより効率的な方法で行うことができます。 リンク先から
<ブロッククオート変更追跡プロキシを取得するためには 基本的なルールは、クラスが public、non-abstract、non-sealedのいずれかを選択します。 また、クラスはパブリックな 仮想ゲッター/セッター プロパティが永続化されます。 最後に、コレクションを宣言する必要があります。 ベースリレーションシップナビゲーション プロパティは
ICollection<T>
のみです。 これらは具体的な 実装または他のインターフェース から派生したものでICollection<T>
(a Deferred Loading との違い プロキシ)
このことを説明したもう一つの有用なリンクは、MSDNの POCOプロキシを作成するための必要条件 .
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン