我在映射以下复杂类型时遇到问题:
RequestDTO
{
int OldUserId;
string OldUsername;
int NewUserId;
string NewUsername;
}
Request
{
User OldUser;
User NewUser;
}
User
{
int UserId;
string Username;
}
将Request
映射/展平为RequestDTO
非常简单。但是如何解决这个问题?
答案 0 :(得分: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}));