使用DynamicMap()并忽略null源值

时间:2010-09-13 21:20:46

标签: c# .net automapper

我在泛型方法中使用Mapper.DynamicMap(),并希望在不使用.CreateMap()的情况下忽略一些null的源值。这甚至可能吗?

2 个答案:

答案 0 :(得分:32)

如果要忽略所有具有空值的源属性,可以使用:

Mapper.CreateMap<SourceType, DestinationType>()
                    .ForAllMembers(opt => opt.Condition(srs => !srs.IsSourceValueNull));

否则,您可以为每个成员执行类似的操作。如果存在大量属性,这将变得非常繁琐。

答案 1 :(得分:0)

我使用目标类型[DataMember(EmitDefaultValue = false)]中的 DataMember属性解决了这个问题,将其添加到目标DTO