このアプリケーションでは、既存の DAL を EF 4.0 から EF 5.0 にアップグレードしています。
現在、一般的なリポジトリ パターンが既に実装されており、ビジネス エンティティとして POCO オブジェクトを使用しています。
これらのオブジェクトは、Web サービス インターフェイスで渡され、さらにビジネスおよび検証メソッドを追加するために部分クラスで拡張されるため、WCF 属性で装飾されます。さらに、各 POCO エンティティは、ジェネリック リポジトリ メソッドを簡単に使用するために、基本クラス「BusinessEntity」とインターフェイス「IBusinessEntity」を継承します。
POCOs オブジェクトからビジネス エンティティを分離して、後者をプロパティのみでロジックのない単純なクラスにすることを計画しています。
ただし、トピックについて読んだ後、現在の最新技術は、Code First アプローチを採用し、ドメイン エンティティを直接永続化することであるようです (もちろん、すべてのケースで一般化することはできませんが)。
関連する回答1、関連する回答2。
私たちの場合、ビジネス ロジックを含む POCO オブジェクトを保持し、EF 5.0 (DbContext) に関連する変更のみを適用することは理にかなっていますか? それとも、リポジトリ内にマッピング レイヤーを導入する必要がありますか? このようにして、アプリケーションはビジネス エンティティで機能し、リポジトリ レイヤーは POCO オブジェクトを外部から隠します。ただし、特に一般的なリポジトリを扱う場合、複雑さが生じるという欠点があります。
前もって感謝します。