2011-08-19 8 views
0

純粋なDTOを使用するWCFサービスレイヤがあります。ビジネスロジック層のDTFをEF4エンティティにマップするためのパターンを探す

サーバー側では、これらのDTOを取得してビジネスロジックレイヤーに渡します。基本的に、各エンティティまたはエンティティグループの「マネージャ」クラスのセットです。

マネージャクラスメソッドは、各メソッドの最初の行で、DTOを取得し、AutoMapperを使用して、それをMy Entity Framework POCOにマップします。次に、LinQクエリまたはリポジトリメソッドを実行します(私はEF 4.1からDBContextを使用しています)。必要に応じて結果エンティティをDTOにマップし、WCFサービスメソッドに戻します。

私のマネージャークラスのほぼすべてのメソッドがこのマッピングと再マッピングを行っていますが、これは繰り返しの定型コードです。冗長性を減らすために使用できるパターンに関する提案はありますか?

+0

いくつかのコードサンプルを提供してください。 – hazzik

答えて

0

すべてのマッピングを別々のdllに配置します。これにより、テストが容易になり、重複したコードの必要性がなくなります。

あなたはさらにautomapperを使用してコードの量を減らすことができ、次を参照してください。

0

パターンは必要ありません。繰り返しコードをヘルパーメソッドでラップし、そのメソッドを再利用するだけです。

0

あなたはWCFアーキテクチャでEntity Frameworkのを使用したい場合http://automapper.codeplex.com/。私は最良の選択肢がPOCOセルフトラッキングエンティティであると考えています。これはデザイナから作成できるVisual Studioのアイテムテンプレートとして提供されています。

MSDN : Working with Self-Tracking Entities

関連する問題