Как указать automapper игнорировать вложенные сущности, когда они равны null

Я использую Automapper для автоматического сглаживания объектов с помощью соглашений об именах

Это мои сущности

class Student 
{
   string Name;
   Address Address;
}
class Address
{
   string Street;
   string City;
}

студент может иметь адрес или нет:

student1 = new Student {Name= "Rob", Address = new Address { Street = "my address", City = "Milan" }};
student2 = new Student {Name= "Tom" };

это мой DTO

class Student 
{
   string Name;
   string AddressStreet;
}

это мой профиль отображения:

CreateMap<Student, StudentDto>();

отображение первого студента работает хорошо, но отображение второго

studentdto2 = _mapper.Map<Student, StudentDTO>(student2);

дает мне исключение NullReference

вопрос:как проинструктировать автомат, что студент.Свойство Address является необязательным и не сопоставлять его, когда это null?

1 ответ

  1. Проблема заключается в версии Automapper, которую вы используете. Эта проблема не возникает в последней версии automapper (v 5.1.л.) Вы можете переключиться на последнюю версию и посмотреть, работает ли тот же код