当属性名称不同时如何指定映射规则
我是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;} }
注意: Employee
类的属性“ Name ”的名称与Employee
类的属性“ FullName ”的名称不同。
以下是将Employee
对象映射到Employee
的代码:
Mapper.CreateMap<Employee, EmployeeDto>(); // code line (***) EmployeeDto dto = Mapper.Map<Employee, EmployeeDto>(employee);
我的问题是:如果我想映射Employee
(源类)到EmployeeDto
(目标类),我怎样才能指定映射规则? 换句话说,我应该如何做更多的代码行(***)上面?
没关系,我自己find了解决办法:
Mapper.CreateMap<Employee, EmployeeDto>() .ForMember(dest => dest.FullName, opt => opt.MapFrom(src => src.Name));