AutoMapper 12.0 版本升级指南
发布说明。
相同设置会互相覆盖
这一规则适用于每个映射及成员。例如,你在一个映射中只能有一个类型转换器,对同一个成员也只能有一个解析器。
某些设置可能是等效的,这一点可能不明显。例如,值转换器是解析器的一种特殊形式,所以针对同一成员的 ConvertUsing
会覆盖 MapFrom
。
对于同一映射/成员,你也不能分别为 Map
和 ProjectTo
配置独立的设置。
另一个可能出现的情况是在使用 ForAllMaps
和 ForAllPropertyMaps
时,可能会覆盖特定映射中已设置的内容。
ResolutionContext.Options
已被移除
你应该使用 ResolutionContext.Items
来访问在 Map
调用中传递的项目。从 12.0.1 版本开始,如果你想检查是否在 Map
调用中传入了上下文,可以使用 TryGetItems
。
替代 ServiceCtor
,你应该使用依赖注入或在 Map
调用中直接传递所需的对象。
命名约定
出于性能考虑,我们简化了实现。如果这不满足你的需求,你可以自定义命名约定。我们更倾向于拥有一个简单且快速的实现来覆盖大多数情况,而不是处理每一个特殊情况。