Bootstrap
Automapper不指定映射规则,默认是认为两个对象是属性名相同的,如果实体对象和dto(数据传输对象)对象属性名不同,就要指定自定义的映身规则,本文就主要介绍一下,.NET Core中Automapper 指定自定义映射规则方法,但非.NET Core中Automapper使用方法应该一样。

1、示例代码

下面是实体类Employee和DTO(数据传输对象)类EmployeeDto

public class Employee
{
   public long Id {get;set;}
   public string Name {get;set;}
   public string Phone {get;set;}
   public string Fax {get;set;}
   public DateTime DateOfBirth {get;set;}
}
public class EmployeeDto
{
   public long Id {get;set;}
   public string FullName {get;set;}
   public DateTime DateOfBirth {get;set;}
}

注意Employee类的NameEmployeeDtoFullName属性名字是不同的。

2、Automapper 自定义映射规则(属性对应关系)

针对Employee类的Name和EmployeeDto类FullName属性指定自定义映射规则。

Mapper.CreateMap<Employee, EmployeeDto>()
    .ForMember(dest => dest.FullName, opt => opt.MapFrom(src => src.Name));


相关文档:ASP.NET Core Automapper的Nuget安装和配置以及demo示例代码