小编典典

属性名称不同时如何指定映射规则

all

我是 Automapper 框架的新手。我有一个域类和一个 DTO 类,如下所示:

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;}
}

注意:类的属性“ Name ”的名称与Employee类的属性“ FullName ”的名称不同EmployeeDto

这是将Employee对象映射到的代码EmployeeDto

Mapper.CreateMap<Employee, EmployeeDto>(); // code line (***)
EmployeeDto dto = Mapper.Map<Employee, EmployeeDto>(employee);

我的问题是:如果我想将Employee(源类)映射到EmployeeDto(目标类),我该如何指定映射规则?换句话说,我应该如何对上面的代码行(***)做更多的事情?


阅读 64

收藏
2022-08-16

共1个答案

小编典典

没关系,我自己找到了解决方案:

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