0

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

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

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

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

1 回答 1

1

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

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

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

于 2013-01-03T18:25:19.440 回答