2010-12-27 4 views
2

私はEntity Frameworkを使用してデータアクセスレイヤー(DAL)を持っており、Automapperを使用して上位レイヤーと通信したいと考えています。データ転送オブジェクト(DTO)を各メソッドの最初の操作としてエンティティにマップし、入力を処理してから、エンティティからDTOにマップする必要があります。あなたはこのコードの作成をスキップするために何をしますか?マッピングするときに繰り返しコードを書くのを避けるには?

例として、これを参照してください。

//This is a common method in my DAL 
public CarDTO getCarByOwnerAndCreditStatus(OwnerDTO ownerDto, CreditDto creditDto) 
{ 
    //I want to automatize this code on all methods similar to this 
    Mapper.CreateMap<OwnerDTO,Owner>(); 
    Mapper.CreateMap<CreditDTO,Credit>(); 
    Owner owner = Mapper.map(ownerDto); 
    Owner credit = Mapper.map(creditDto) 

    //... Some code processing the mapped DTOs 

    //I want to automatize this code on all methods similar to this 

    Mapper.CreateMap<Car,CarDTO>(); 
    Car car = Mapper.map(ownedCar); 
    return car; 
} 
+1

書くことを避けようとしている繰り返しコードの例と、間に挟まれているオブジェクトを挙げることはできますか? –

+0

私は投稿しています... – JPCF

+0

あなたはdtosとエンティティの間に違いはありますか? – Omu

答えて

1

私は反復コードを生成するコード生成を使用します。

+0

Downvoter:なぜあなたはdownvotedを言いませんか? –

+0

私はあなたの答えを下げました。なぜあなたは問題を解決するか説明しなかったからです。コードジェネレータが繰り返しコードを自動的に生成するため、問題を解決すると言うのは、明白なことです...(私が意味するならば私を許してください) – JPCF

+0

@JPCF:言い訳は必要ありません。私は通常、平均と呼ばれるものです;-) –

関連する問題