我正在使用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异常
问题:如何指示automapper,Student.Address属性是可选的,并且当它为null时不映射它?
答案 0 :(得分:0)
问题在于您使用的Automapper版本。在最新的automapper版本(v 5.1.l)中不会发生此问题。您可以切换到最新版本,看看相同的代码是否有效