2014-01-30 5 views
3

У меня есть некоторые DTO, которые сопоставлены объектами Domain, благодаря автонастройкам на основе условных обозначений, то есть поля Address сглаживаются в DTO.Automapper unflatten с префиксом

Это отлично работает для преобразования доменов -> DTO, но в остальном я должен «unflatten» Address вручную.

Интересно, есть ли возможность «префикс» конфигурации отображения, так что я мог бы сделать что-то вроде

Mapper.CreateMap<PersonDTO, Address>().WithPrefix("Address"); 
... 
Mapper.CreateMap<PersonDTO, Person>() 
.ForMember(d => d.Address, opt => opt.MapFrom(src => Mapper.Map<Address>(src))) 

иначе мне придется вручную сопоставить каждое поле адреса, которое становится проблемой для более сложных объектов ,

мои объекты домена и DTO

class Person 
{ 
    public string FirstName {get;set;} 
    public string LastName {get;set;} 
    public Address Address {get;set;} 
} 

class Address 
{ 
    public string Street {get;set;} 
    public string PostCode {get;set;} 
} 

и следующие DTO:

class PersonDTO 
{ 
    public string FirstName {get;set;} 
    public string LastName {get;set;} 
    public string AddressStreet {get;set;} 
    public string AddressPostCode {get;set;} 
} 

редактировать

Я знаю глобальной конфигурации "признал префиксы". Я бы предпочел установить обязательный префикс (а не «один из признанных») для конкретной Карты.

ответ

Смежные вопросы