3

有没有办法告诉 AutoMapper 跳过所有空属性(因为我的对象有 50 个属性),然后允许某些属性为空后缀?

换句话说,我宁愿不要将应该跳过的 49 个属性“列入白名单”。我宁愿默认它们都被跳过,然后将它们“列入白名单”以允许空值。

第一部分当然可能看起来像我想象的那样。

Mapper.CreateMap<MyClassA, MyClassB>()                
.ForAllMembers(opt => opt.Condition(srs => !srs.IsSourceValueNull));
4

1 回答 1

4

您可以使用 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));
于 2013-11-04T22:55:34.840 回答