AutoMapper unflattening complex objects of same type

十年热恋 提交于 2020-01-13 19:42:12

问题


I have a problem mapping the following complex types:

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

Request
{
    User OldUser;
    User NewUser;
}

User
{
    int UserId;
    string Username;
}

Mapping/flattening Request to RequestDTO is easy. But how to unflatten this object?


回答1:


Assuming that you make your classes and fields public, the example below shows how to handle this in AutoMapper. You need to tell it how to reconstruct your complex types from the 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}));


来源:https://stackoverflow.com/questions/28043940/automapper-unflattening-complex-objects-of-same-type

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!