AutoMapper是一個用于對象到對象映射的庫,它使用一種基于約定的機制來自動化對象之間的轉(zhuǎn)換兑徘。這個庫非常適合用于將復(fù)雜的對象模型轉(zhuǎn)換為簡單的DTO(數(shù)據(jù)傳輸對象)或其他適合序列化刚盈、通信、消息傳遞的對象道媚。
在不同類不能使用Clone的情況下扁掸,用AutoMapper庫來實現(xiàn)省了很多映射的代碼,基本步驟如下:
- 安裝AutoMapper庫
Install-Package AutoMapper
- 配置AutoMapper定義需要映射映射的類型:
var configuration = new MapperConfiguration(cfg =>
{
cfg.CreateMap<SourceType, DestinationType>();
});
- 創(chuàng)建其實例進行映射操作:
var mapper = configuration.CreateMapper();
//下面兩個重載都可以用
//var destinationObject = mapper.Map<SourceType, DestinationType>(sourceObject);
var destinationObject = mapper.Map<DestinationType>(sourceObject);
這樣下來省了一個個屬性去映射了最域。