Мы пытаемся сопоставить объект - исходящий контакт электронной почты Tridion - который имеет свойство типа пользовательского словаря с внутренним конструктором - ExtendedDetailCollection
Это точное отображение объекта на Viewmodel
Mapper.CreateMap<Contact,ContactViewModel>()
.ForMember(x=>x.Name, m=>m.MapFrom(x=>x.ExtendedDetails["Name"].StringValue))
но другой способ не работает
Мы попробовали:
Mapper.CreateMap<ContactViewModel,Contact>()
.ForMember(x=>x.ExtendedDetails["Name"].Value, m => m.MapFrom(x=>x.Name));
но это вызывает исключение во время выполнения.
Редактировать: Сообщение об исключении:
AutoMapper.AutoMapperConfigurationException: пользовательская конфигурация для
члены поддерживаются только для отдельных членов верхнего уровня в типе.
Мы также пробовали различные преобразователи типов и преобразователи значений, но ни один из них не позволяет нам получить доступ к отображаемому объекту, к которому мы должны получить доступ для сопоставления объекта ExtendedDetails.
Mapper.CreateMap<ContactViewModel,Contact>()
.ForMember(x=>x.ExtendedDetails, m => ????);
Есть шаблон для этого или проще использовать статический метод?