Подтвердить что ты не робот

Automapper: частичное отображение

Я использую Automapper для передачи данных из объекта A в объектB

classe ObjectA
{
   string Title;
   string Summary;
}

classe ObjectB
{
   string Title;
   string Summary;
   IAddress Address;
}

Я создал такой вид отображения между двумя объектами

AutoMapper.Mapper.CreateMap<IObectA, IObjectB>()
      .ForMember(dest => dest.Title,           src => src.MapFrom(s => s.Title))
      .ForMember(dest => dest.Summary,         src => src.MapFrom(s => s.Summary))
      .ForMember(dest => dest.Address,         src => src.Ignore())

Я создаю свой ObjectB и заполняю все его свойства, включая Address

Когда я вызываю mapper, я ожидал, что он переопределит Title и Summary и проигнорирует адрес

ObjectB = Mapper.Map<IObjectA, IObjectB>(objectA); 

На самом деле это выбрасывание и исключение для адреса.

Что я делаю неправильно?

[ОБНОВЛЕНИЕ] Чтобы выразить это по-другому, у меня есть мой объект B, и я хочу обновить его часть данными, полученными от ObjectA. Когда я говорю "Игнорировать", я имею в виду оставить данные так, как они уже есть.

4b9b3361

Ответ 1

Я нашел решение.

Я только что обнаружил, что метод Map имеет перегруженную версию, за исключением предварительно созданного объекта назначения. Благодаря этой статье

Mapper.Map<IObjectA, IObjectB>(objectA, ObjectB ); 

@JoDG, Благодарим за помощь