有没有办法告诉 AutoMapper 跳过所有空属性(因为我的对象有 50 个属性),然后允许某些属性为空后记?
换句话说,我宁愿不将应该跳过的 49 个属性“列入白名单”。我宁愿将它们全部默认为跳过,然后将其“列入白名单”以允许空值。
第一部分当然可能像我想象的那样。
Mapper.CreateMap<MyClassA, MyClassB>()
.ForAllMembers(opt => opt.Condition(srs => !srs.IsSourceValueNull));
最佳答案
您可以使用 AfterMap 手动映射某些属性并跳过所有其他空属性:
Mapper.CreateMap<MyClassA, MyClassB>()
.AfterMap((a,b) => b.Foo = a.Foo) // will be mapped if Foo is null
.ForAllMembers(opt => opt.Condition(srs => !srs.IsSourceValueNull));
关于c# - AutoMapper 跳过所有空属性,然后允许一些空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19778669/