97
私はAutomapperフレームワークの初心者です。プロパティの名前が異なる場合にマッピングルールを指定する方法
public class Employee
{
public long Id {get;set;}
public string Name {get;set;}
public string Phone {get;set;}
public string Fax {get;set;}
public DateTime DateOfBirth {get;set;}
}
public class EmployeeDto
{
public long Id {get;set;}
public string FullName {get;set;}
public DateTime DateOfBirth {get;set;}
}
注:プロパティの名前クラスはEmployeeDto
クラスの「フルネーム」プロパティと同じではありませんEmployee
の「名」を次のように私は、ドメインクラスとDTOのクラスを持っています。
そしてここEmployeeDto
にEmployee
オブジェクトをマッピングするためのコードです:
Mapper.CreateMap<Employee, EmployeeDto>(); // code line (***)
EmployeeDto dto = Mapper.Map<Employee, EmployeeDto>(employee);
私の質問です:私はEmployeeDto
にEmployee
(ソース・クラス)をマッピングしたい場合は(先クラス)、どのように私はマッピングを指定することができますルール?言い換えれば、上記のコード行(***)を使ってもっとどうすればいいですか?
は、任意のクラスに対してグローバルプレフィックス/サフィックスの事のようなものを、それを指定する方法はありますか?たとえば、 "Localizations"というプロパティを持つライブラリをたくさん用意しています。そして、私はそれらを対応するプロパティが "LocalizedName"と呼ばれるクラスにマップしたいと思います。私の唯一のオプションはForMemberを各マッピング設定に追加することですか? – NickAb
MapperクラスにCreateMapメソッドがありません:( –
@ Navid_pdp11あります。静的クラスMapperをインスタンスではありません。 –