2016-10-04 62 views
0

我使用Automapper使用命名約定如何指導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屬性是可選的,並且在空值時不映射它?

回答

0

問題出在您使用的Automapper版本上。這個問題不會發生在最新的automapper版本(v 5.1.l)中。你可以切換到最新版本,看看是否有相同的代碼工作