ForAllOtherMembers 排除基本属性

ForAllOtherMembers exclude base properties

我正在使用 AutoMapper 6.2.2 映射 class A 的一些属性,对于所有其他成员,我将使用以下代码忽略它们:

expression.ForAllOtherMembers(f => f.Ignore());

这就是我想要的,但它也忽略了目标 A class 的基础 class 中的属性(BaseA 的属性)。 我想使用 AutoMapper 映射它们(来自基础 class 的属性)并映射 A class 的一些属性。 我想要这样的代码的功能: 1. 从 class A 映射一些属性 2. 映射 BaseA 的所有属性(以及 BaseBaseA、BaseBaseBaseA 等) 3. 忽略 class A

中的所有其他属性

如果有人有任何想法,请帮助。谢谢

P.S。 我正在将 AutoMapper 从 v3.2.1 升级到 v6.2.2。 我正在使用函数,它忽略了 class A 中所有未映射的属性(BaseA 属性已正常映射)。更改新的 AutoMapper 后,我无法使用相同的功能 - 我正在寻找替代方法来执行此操作。

我找到了解决方案,我使用当前 类 比较实现了这个:

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

更改AutoMapper 结构后,我的项目发生了很大变化。 我认为,升级 AutoMapper init 项目的人会使用此代码,对于像我这样的情况..