前言:AutoMapper的下載安裝我就不多說了,網上百度一大堆。今天我就說說它的更為簡單的使用,什麼叫更為簡單呢?按照一般的使用方法,我們首先建DTO,然後建每個對應的Profile,然後還要把每個Profile給Initialize,最後Global里AutoMapper.Configurati ...
前言:AutoMapper的下載安裝我就不多說了,網上百度一大堆。今天我就說說它的更為簡單的使用,什麼叫更為簡單呢?按照一般的使用方法,我們首先建DTO,然後建每個對應的Profile,然後還要把每個Profile給Initialize,最後Global里AutoMapper.Configuration.Configure(),我個人覺得比較麻煩,如果一兩個映射還好,多了的話就顯得很麻煩了,下麵來說說我個人覺得挺方便的一個方法。
1、第一步當然必須建立DTO,就不多說了。
2、Appstart里建一個MapperConfig類
public static void Execute() { Mapper.Initialize(cfg => { cfg.CreateMap<HospitalContact, HospitalContactDto>() .ForMember(dto => dto.IsPrimary, opt => opt.MapFrom(m => m.IsPrimary == 1 ? "是" : "否")) .ForMember(dto => dto.CreateTime, opt => opt.MapFrom(m => m.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"))); cfg.CreateMap<Department, DepartmentDto>() .ForMember(dto => dto.CreateTime, opt => opt.MapFrom(m => m.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"))); //........
//可以建立多個DTO映射
}); }
3、Global里MapperConfig.Execute()
4、最後就是如何使用了,很簡單,看代碼
var dtolist = Mapper.Map<List<Dto>>(ModelList);
var dto = Mapper.Map<Dto>(Model);
好了,結束了!