У меня есть такая структура:
public class UserEntity
{
public long Id { get; set; }
public string Name { get; set; }
public string UserName { get; set; }
public ComplexObject TimeZone { get; set; }
}
public class UserQueryResult
{
public UserEntity User { get; set; }
public ObjectId AccountId { get; set; }
}
public class UserDto
{
public long Id { get; set; }
public string Name { get; set; }
public string UserName { get; set; }
public string TimeZoneId { get; set; }
public string AccountId { get; set; }
}
У меня есть UserEntity для сопоставления UserDto, как это:
CreateMap<UserEntity, UserDto>()
.ForMember(dest => dest.TimeZoneId, opt => opt.ResolveUsing<UserTimeZoneResolver>())
.ForMember(dest => dest.AccountId, opt => opt.Ignore());
Как видите, существует преобразователь из UserEntity в UserDto. Теперь, если я хочу сопоставить UserQueryResult с UserDto, как я могу использовать вышеупомянутый маппер без необходимости вручную сопоставлять все свойства?
CreateMap<UserQueryResult, UserDto>()
.ForMember(dest => dest.AccountId, opt => opt.MapFrom(src => src.AccountId.ToString()))
.// use the UserEntity to UserDto map?