41 lines
2.4 KiB
C#
41 lines
2.4 KiB
C#
using AutoMapper;
|
||
using CapMachine.Model;
|
||
using CapMachine.Wpf.Models;
|
||
|
||
namespace CapMachine.Wpf.MapperProfile
|
||
{
|
||
/// <summary>
|
||
/// 源类的属性名称和目标类的属性名称相同(不区分大小写),直接匹配,Mapper.CreateMap<source,dest>();无需做其他处理,此处不再细述
|
||
/// 1,智能匹配
|
||
/// AutoMapper能够自动识别和匹配大部分对象属性:
|
||
/// 如果源类和目标类的属性名称相同,直接匹配,不区分大小写
|
||
/// 目标类型的CustomerName可以匹配源类型的Customer.Name
|
||
/// 目标类型的Total可以匹配源类型的GetTotal() 方法
|
||
/// </summary>
|
||
public class ChartSelectProfile : Profile
|
||
{
|
||
public ChartSelectProfile()
|
||
{
|
||
CreateMap<ConfigChart, ChartSelectDto>()
|
||
.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>(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();
|
||
|
||
CreateMap<HistoryConfigChart, ChartSelectDto>()
|
||
.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>(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();
|
||
}
|
||
}
|
||
}
|