2009-05-19 17 views
2

私のLinq-to-Sql生成エンティティ(DTO)をドメインエンティティにどのようにマッピングできますか?問題は、同じタイプではないため、関連付けをマップできないことです。 DTOのはのEntitySetとEntityRefを使用していますし、私のドメインエンティティは、IListのとT.カスタムドメインエンティティへのLinq-to-Sqlエンティティのマッピング

を使用しています私はいくつかのブログの記事を見てきました:イアン・クーパーのアーキテクチャ設計 - LINQからSQLへ - アプリケーション - パート5とdigital_ruminations linq-をto-sql-poco-supportしかし、私のニーズに合っていません。私は、マッピングを処理するために何らかの汎用コンバータクラスが好きです。

今、私はこのような何か:

public IList<Entities.Customer> GetAll() 
    { 
     try 
     { 
      return _custConverter.Convert(base.GetEntities()); 
     } 

をしかし、変換方法は、基本的な性質ではない関連付けを変換します。 どのように私はこれを最善の方法で行うことができますか?

答えて

2

AutoMapperを調べるとよいでしょう。これは、プロパティを自動的にボックスの外にマッピングする素晴らしい仕事をし、リストをあなたのEntitySetsから作るために使用できるカスタムコンバータのような広範なカスタマイズをサポートします。


更新:

+0

http://code.google.com/p/automapperhome/source/browseでの機能の概要さでホストされています/trunk/src/AutoMapperSamples/DynamicMapping.csはおそらく彼が探しているものです。 –

+0

@Todd:ありがとうございますが、プロジェクトサイト*はCodePlexにあります。しかし、コード・リポジトリ、ディスカッション・グループ、ブログ・ポストへの新しいリンクを使用して回答を更新しました。 – Lucas

関連する問題