2015-01-20 4 views
2

У меня есть проблема, отображающую следующие сложные типы:AutoMapper unflattening сложные объекты одного типа

RequestDTO 
{ 
    int OldUserId; 
    string OldUsername; 
    int NewUserId; 
    string NewUsername; 
} 

Request 
{ 
    User OldUser; 
    User NewUser; 
} 

User 
{ 
    int UserId; 
    string Username; 
} 

Mapping/уплощение Request к RequestDTO легко. Но как развязать этот объект?

ответ

2

Предполагая, что вы публикуете свои классы и поля, приведенный ниже пример показывает, как обрабатывать это в AutoMapper. Вы должны сказать, как восстановить сложные типы из dto.

 Mapper.CreateMap<RequestDTO, Request>() 
      .ForMember(request => request.OldUser, 
       mappingOption => 
        mappingOption.MapFrom(dto => new User {UserId = dto.OldUserId, Username = dto.OldUsername})) 
      .ForMember(request => request.NewUser, 
       opt => opt.MapFrom(dto => new User {UserId = dto.NewUserId, Username = dto.NewUsername})); 
+0

Простой и работает, спасибо. – Matthias

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