为AutoMapper定义全局BeforeMap和AfterMap回调
本文关键字:AfterMap 回调 BeforeMap 全局 AutoMapper 定义 | 更新日期: 2023-09-27 18:30:11
我知道在映射级别为给定类型对定义Before/AfterMap回调的功能。然而,我正在寻找一种解决方案,以某种方式定义全局Before/AfterMap函数,该函数将应用于每个定义的类型映射。
在我的大多数DTO中,我都有一种机制,可以使用BeginUpdate/EndUpdate模式临时阻止更改通知。我希望AutoMapper在目标类型支持的时候包装这些调用之间的映射
我已经查看了这里的问题和AutoMapper文档,但还没有找到本机解决方案。
我想我已经找到了一个合适的解决方案,但还没有完全测试它。
在我所有的地图都注册后,我会做这样的事情:
var typeMaps = Mapper.GetAllTypeMaps();
foreach (var typeMap in typeMaps)
{
typeMap.AddBeforeMapAction(...);
typeMap.AddAfterMapAction(...);
}