最初にEFコードでは、開発者はしばしば問題に遭遇します。ドメインクラスを定義するときに初期化ナビゲーション属性が必要かどうか。一部の人々は初期化しない傾向があり、他の人はコンストラクターで初期化することを選択します。この記事の目的は、各メソッドの利点と欠点を調査し、それらをいつ、どのように使用するかをガイドすることを目的としています。
コレクションとリファレンス
この場合、重要な違いは、コレクションのナビゲーション属性と参照ナビゲーション属性が表現されることです。 Collection(
コレクション:初期化の最小の影響ICollection<Address>
License
参照属性:初期化は問題につながる可能性があります
ただし、参照のために、コンストラクターの初期化はいくつかの問題を引き起こす可能性があります。カバレッジの問題
:EFがオブジェクトを実現した場合、または実行遅延ロードの場合、初期化された初期化の参照属性をカバーしません。これにより、データベースの保存が誤っている可能性があり、関係の回復を妨害する可能性があります。 関係
:初期化された参照ナビゲーション属性は、この関係の修復を妨げる可能性があります。
結論
コンストラクター内の参照ナビゲーションプロパティの初期化を避けることを一般的に推奨します。設定では、初期化するかどうかは好みですが、影響力が最も低くなります。
以上が最初にEFコードのナビゲーションプロパティを初期化する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。