我们通常有一个用例,我们在其中有一个null元素的集合(new SomeType[]{null}
)。现在我们有一个删除这些null元素的扩展方法,但显然我们必须为每个要映射的集合配置它。
是否有一些通用的方法来告诉automapper从集合中删除null值,无论是全局还是每个配置文件?
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));
}