前言: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);
好了,结束了!