AutoMapper内联忽略

时间:2018-05-16 10:06:56

标签: c# automapper

我使用Auto Mapper将源映射到目标对象,我已经配置了这样的映射器:

Mapper.Initialize(cfg => {    
   cfg.CreateMap< SourceModel, DestModel>();   
}

此源和目标对象映射正在许多地方使用,现在在某些情况下,我必须忽略源模型字段之一,但不能忽略所有地方。我可以这样做:

 CreateMap< SourceModel, DestModel>()
   .ForMember(x => x.CreatedDateTime, opt => opt.Ignore());

但是这会忽略所有场景的CreatedDateTime属性,所以我想只在内联中进行。

 Mapper.Map< DestModel>(sourceObject); //Here I want to ignore one property.

请帮助我如何实现这一目标。

1 个答案:

答案 0 :(得分:1)

听起来你需要条件映射。

关于SO的

This答案显示了如何使用它,并且可以找到文档here

示例用法:

Mapper.CreateMap<SourceModel, DestModel>()
 .ForMember(dest => dest.CreatedDateTime, opt => opt.Condition(source => source.Id == 0))
相关问题