Я создаю конфигурацию AutoMapper, структура которой не соответствует месту назначения в соотношении 1:1, мне приходится обернуть основной и дополнительный контакт в объект ContactResponse. Я не могу понять, как использовать созданное ранее сопоставление для сопоставления объекта Contact с CommunicationContactResponse без повторного выполнения конфигурации.
public class VendorResponseMappingProfile : Profile
{
public VendorResponseMappingProfile()
{
this.CreateMap()
.ForMember(dest => dest.Phone, opt => opt.MapFrom(src => src.Phone))
.ForMember(dest => dest.Email, opt => opt.MapFrom(src => src.Email));
this.CreateMap()
.ForMember(dest => dest.id, opt => opt.MapFrom(src => src.Id))
.ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.Name))
.ForMember(dest => dest.Memo, opt => opt.MapFrom(src => src.Memo))
.ForMember(dest => dest.Active, opt => opt.MapFrom(src => src.Active))
.ForMember(dest => dest.Contact, opt => opt.MapFrom(src => new ContactResponse
{
// Here i have to redo the mapping from above are there a way to use the mapping from above instead?
PrimaryContact = src.PrimaryContact != null ? new CommunicationContactResponse
{
Phone = src.PrimaryContact.Phone,
Email = src.PrimaryContact.Email
} : null,
SecondaryContact = src.SecondaryContact != null ? new CommunicationContactResponse
{
Phone = src.SecondaryContact.Phone,
Email = src.SecondaryContact.Email
} : null
}));
}
}
Подробнее здесь: https://stackoverflow.com/questions/766 ... on-profile