有没有办法在我的应用程序(Mapper.CreateMap())中映射 2 个模型,例如在 global.asax 中,然后在必要时在代码中调用 Mapper.Map()?
问问题
253 次
1 回答
1
是的,您可以,事实上这是配置 AutoMapper 的推荐方式。创建初始映射是 AutoMapper(相对)昂贵的部分,因此您只想执行一次。
正如你所建议的那样,Global.asax
是一个很好的地方。尽管将它放在一个单独的类中是个好主意,例如Bootstrapper
,Application_Start
方法调用到的类中,这样也可以从您的单元测试中调用这个类和方法。
我在哪里配置 AutoMapper?如果您使用的是静态 Mapper 方法,则每个 AppDomain 只需进行一次配置。这意味着放置配置代码的最佳位置是在应用程序启动中,例如用于 ASP.NET 应用程序的 Global.asax 文件。通常,配置引导程序类在其自己的类中,并且从启动方法调用此引导程序类。
另请参阅这个问题,其中有一些好主意,包括编写 AutoMapper 的 Jimmy Bogard 的建议。
于 2012-04-07T07:41:09.140 回答