C# 映射项时自动映射中的事件
我为许多类设置了映射,但是在某些情况下,我希望应用一些自定义映射或将值应用于其他不会映射的属性,我无法集中执行此自定义映射的原因是因为它是上下文敏感的,因此变量/属性不可用C# 映射项时自动映射中的事件,c#,.net,automapper,C#,.net,Automapper,我为许多类设置了映射,但是在某些情况下,我希望应用一些自定义映射或将值应用于其他不会映射的属性,我无法集中执行此自定义映射的原因是因为它是上下文敏感的,因此变量/属性不可用 是否有可以在AutoMapper中绑定的事件,以便在调用Mapper.Map后填充某些属性?您可以创建如下映射: Action<object,object> beforeMap = (src, dst) => { Console.WriteLint("BeforeMap"); }; Mapper.Creat
是否有可以在AutoMapper中绑定的事件,以便在调用Mapper.Map后填充某些属性?您可以创建如下映射:
Action<object,object> beforeMap = (src, dst) => { Console.WriteLint("BeforeMap"); };
Mapper.CreateMap<Src, Dst>().BeforeMap((src, dst) =>
{
if(beforeMap!=null)
beforeMap(src,dst);
});
Mapper.Map(new Src(), new Dst()); // - output: BeforeMap
你也可以用AfterMap做同样的事情
beforeMap = (src, dst) => { Console.WriteLint("NEW BeforeMap") };
Mapper.Map(new Src(), new Dst()); // - output: NEW BeforeMap