从集合中删除空值

时间:2018-08-30 14:38:06

标签: c# automapper

我们通常有一个用例,就是我们的集合中包含一个null元素(new SomeType[]{null})。现在,我们有一个扩展方法可以删除这些null元素,但是显然我们必须为要映射的每个集合配置它。

是否存在一些通用的方法来告诉automapper从全局或每个配置文件中删除集合中的空值?

1 个答案:

答案 0 :(得分:1)

AotoMapper提供了Condition映射

例如,

CreateMap<MyClassDTO, MyClass>()
     .ForAllMembers(opts => opts.Condition((src, dest, srcMember) => srcMember != null));

在全局级别上启用(未测试)

Mapper.Initialize(cfg =>
{
    cfg.ForAllMaps((typeMap, map) =>
        map.ForAllMembers(opts => opts.Condition((src, dest, srcMember) => srcMember != null));
}