2013-01-03 54 views
0

Automapper中是否有規定在映射時忽略某些屬性。例如,我有兩個班級經理和員工。經理有一份員工名單和其他信息。Automapper在映射時忽略屬性

我大部分時間都需要管理者的員工列表,但是在少數情況下,我不需要將員工列表返回給客戶端(比如只需編輯管理者姓名)。所以,當我創建地圖時,我也包括了要映射的員工。現在有一種方法可以在映射時指定要忽略的員工屬性。

// <--- Employees is included. 
Mapper.CreateMap<Manager, ManagerDto>(); 

// <--- I want to ignore employees list here. 
ManagerDto dto = Mapper.Map<Manager, ManagerDto>(manager); 

回答

1

你可能在你的映射配置使用的條件。例如:

Mapper.CreateMap<Manager, ManagerDto>() 
    .ForMember(d => d.Employees, 
       opt => { 
        opt.Condition(s => s.NeedEmployees); 
        opt.MapFrom(s => s.Employees); 
       }); 

我不相信你可以在你實際應用映射的時間做到這一點。