自动映射在映射时忽略属性

时间:2013-01-03 17:16:34

标签: automapper

Automapper中是否有规定在映射时忽略某些属性。例如,我有两个类Manager和Employee。经理有一份员工和其他信息清单。

我大多数时候都需要员工列表,但在少数情况下,我不需要将员工列表返回给客户端(比如在编辑经理名称时)。所以,当我创建地图时,我也将Employees包括在内。现在有一种方法可以指定在映射时忽略的employees属性。

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

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

1 个答案:

答案 0 :(得分:1)

您可以在映射配置中使用条件。例如:

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

我不相信你在实际应用映射时可以做到这一点。