Automapper ignore properties while mapping
Automapper 中是否有规定在映射时忽略某些属性。例如,我有两个类 Manager 和 Employee。经理有一份员工名单和其他信息。
我大部分时间都需要在 Manager 中列出员工列表,但在少数情况下,我不需要将员工列表返回给客户(比如在编辑经理姓名时)。所以,当我创建地图时,我也包括了要映射的员工。现在有一种方法可以指定在映射时要忽略的员工属性。
1 2 3 4 5 | // <--- Employees is included. Mapper.CreateMap<Manager, ManagerDto>(); // <--- I want to ignore employees list here. ManagerDto dto = Mapper.Map<Manager, ManagerDto>(manager); |
您可以在映射配置中使用条件。例如:
1 2 3 4 5 6 | Mapper.CreateMap<Manager, ManagerDto>() .ForMember(d => d.Employees, opt => { opt.Condition(s => s.NeedEmployees); opt.MapFrom(s => s.Employees); }); |
我认为您在实际应用映射时无法做到这一点。