using AutoMapper; using CapMachine.Model; using CapMachine.Wpf.Models; namespace CapMachine.Wpf.MapperProfile { /// /// 源类的属性名称和目标类的属性名称相同(不区分大小写),直接匹配,Mapper.CreateMap();无需做其他处理,此处不再细述 /// 1,智能匹配 ///  AutoMapper能够自动识别和匹配大部分对象属性: /// 如果源类和目标类的属性名称相同,直接匹配,不区分大小写 /// 目标类型的CustomerName可以匹配源类型的Customer.Name /// 目标类型的Total可以匹配源类型的GetTotal() 方法 /// public class ChartSelectProfile : Profile { public ChartSelectProfile() { CreateMap() .ForMember(dest => dest.Index, opt => opt.MapFrom(src => src.Index)) .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name)) //.ForMember(dest => dest.Id, opt => opt.Ignore())//忽略目标类中的属性 //.ForMember(dest => dest.OrderDate, opt => opt.UserValue(DateTime.Now)); //固定值匹配 //.ForMember(dest => dest.TotalAmount, opt => opt.MapFrom(src => src.TotalAmount ?? 0)) //复杂的匹配 //.ForMember(dest => dest.EventDate, opt => opt.MapFrom(src => src.WorkEvent.Date)) //属性匹配,匹配源类中WorkEvent.Date到EventDate .ForMember(dest => dest.YAxis, opt => opt.MapFrom(src => src.ConfigChartYAxis))// .ReverseMap(); } } }