AutoMapper仅在目标字段为空时进行映射

时间:2016-09-11 10:07:12

标签: c# automapper automapping

AutoMappper中是否有任何选项仅在目标字段为空时映射属性。即仅映射尚未设置的地图属性?

我希望这样做而不必为每个属性写一个表达式。

任何帮助都将不胜感激。

马特

3 个答案:

答案 0 :(得分:2)

请尝试以下解决方案:

Mapper.CreateMap<TypeA, TypeB>().ForAllMembers(r=>r.Condition(v=>v.DestinationValue==null));

希望有所帮助

答案 1 :(得分:1)

PinHead877的回答确实让我非常接近,但实际答案更像是这样:

cfg.CreateMap<TypeA, TypeB>() .ForAllMembers(r => r.Condition((source, target, sourceField, targetField) => targetField == null));

答案 2 :(得分:0)

Conditional mapping将帮助您实现这一目标。