EF での境界付けられたコンテキストの使用に関する Julie Lermans のビデオ (http://www.pluralsight.com/training/Courses/TableOfContents/efarchitecture) を見たところです。 . 私が見る 2 つのオプションは、すべてを定義する 1 つの edmx モデルを用意してから、DbContext を手作りして適切なエンティティを含めるか、コンテキストごとに個別の edmx モデルを用意し、自動的に作成された DbContext を使用することです。
どちらが最適か、またはどちらかの長所/短所についてのアイデアはありますか?
IMHO: 単一のモデルの場合、クラスが大幅に減り、コードの再利用が大幅に増えます (ただし、これらのクラスは自動的に作成されるため、実際には手動で複製される追加機能のみになります)。クラスを 1 か所にまとめ、特殊化する必要があるクラスについては、それぞれに異なる名前を付ける必要があります。例: Customer、CustomerForFunctionalityX、CustomerForFunctionalityB。
個別のモデルを使用すると、プロパティの削除が完全に新しいエンティティである必要がないため、コンテキストに入る内容をより厳密にすることができます。また、必要に応じてすべてに名前を付けることができます (つまり、すべてのモデルは Customer オブジェクトを使用できます。モデル間で異なります)、しかし、すべてが同じテーブルにマッピングされているだけであっても、各コンテキストには完全に異なるエンティティが含まれるようになりました.コンテキストが間違って定義されていることを意味します)。