c# - standard - Cómo especificar la regla de asignación cuando los nombres de las propiedades difieren
imapper c# (1)
No importa, yo mismo encontré una solución:
Mapper.CreateMap<Employee, EmployeeDto>()
.ForMember(dest => dest.FullName, opt => opt.MapFrom(src => src.Name));
Soy un novato en el marco de Automapper. Tengo una clase de dominio y una clase de DTO de la siguiente manera:
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;}
}
Nota: El nombre de la propiedad " Nombre " de la clase Employee
no es el mismo que el de la propiedad " Nombre completo " de la clase EmployeeDto
.
Y aquí está el código para asignar el objeto EmployeeDto
a EmployeeDto
:
Mapper.CreateMap<Employee, EmployeeDto>(); // code line (***)
EmployeeDto dto = Mapper.Map<Employee, EmployeeDto>(employee);
Mi pregunta es: si quiero asignar Employee
(clase de origen) a EmployeeDto
(clase de destino), ¿cómo puedo especificar la regla de asignación? En otras palabras, ¿cómo debería hacer más con la línea de código (***) anterior?