У меня есть модель с вложенным представлением, похожая на эту:
public class EmployeeViewModel
{
//...
public string EmployeeFirstName { get; set; }
public string EmployeeLastName { get; set; }
public AddressViewModel{ get; set; }
}
AddressViewModel выглядит следующим образом:
public class AddressViewModel
{
public string Street {get; set;}
public string City {get; set;}
public string State {get; set;}
public string Zip {get; set;}
}
Затем есть объект домена Employee, подобный этому:
public class Employee
{
public string EmployeeFirstName { get; set; }
public string EmployeeLastName { get; set; }
public string Street { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
}
Я пытаюсь сопоставить EmployeeViewModel с объектом домена Employee.Это то, что я придумал, и это работает, но мне было интересно, есть ли более простой способ сделать это:
Mapper.CreateMap<EmployeeViewModel, Employee>().ForMember(destination => destination.Street, opt => opt.MapFrom(src => src.AddressViewModel.Street))
.ForMember(destination => destination.City, opt => opt.MapFrom(src => src.AddressViewModel.City))
.ForMember(destination => destination.State, opt => opt.MapFrom(src => src.AddressViewModel.State))
.ForMember(destination => destination.Zip, opt => opt.MapFrom(src => src.AddressViewModel.Zip));
Как видите, имена свойств в объекте домена Employee и в AddressViewModelподобные.Так что, похоже, должен быть более простой способ сделать это.
Спасибо