为了账号安全,请及时绑定邮箱和手机立即绑定

ForAllOtherMembers排除基本属性

ForAllOtherMembers排除基本属性

C#
12345678_0001 2021-03-29 15:20:32
我正在使用AutoMapper 6.2.2映射A类的某些属性,对于所有其他成员,我将使用以下代码忽略它们:expression.ForAllOtherMembers(f => f.Ignore());这就是我想要的,但是它也忽略了目标A类的基类中的属性(BaseA的属性)。我想使用AutoMapper与A类的某些属性进行映射(基类的属性)。我想要具有以下代码的函数:1.映射A类的一些属性2.映射BaseA(和BaseBaseA,BaseBaseBaseA等)的所有属性3.忽略类A的所有其他属性如果有人有任何想法,请帮助。谢谢。PS我正在将AutoMapper从v3.2.1升级到v6.2.2。我使用的是函数,它忽略了类A中所有未映射的属性(BaseA属性已正常映射)。在新的AutoMapper中进行更改后,我无法使用相同的功能-我正在寻找替代方法来执行此操作。
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

我找到了解决方案,通过使用当前类进行比较来实现:

var destType = typeof(TDestination); expression.ForAllOtherMembers(f => { if (f.DestinationMember.DeclaringType == destType) f.Ignore(); });

更改AutoMapper的结构后,我在项目中进行了很多更改。我认为,升级AutoMapper init项目的人会使用此代码,例如我的情况。


查看完整回答
反对 回复 2021-04-17
  • 1 回答
  • 0 关注
  • 336 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信