0

有没有办法在我的应用程序(Mapper.CreateMap())中映射 2 个模型,例如在 global.asax 中,然后在必要时在代码中调用 Mapper.Map()?

4

1 回答 1

1

是的,您可以,事实上这是配置 AutoMapper 的推荐方式。创建初始映射是 AutoMapper(相对)昂贵的部分,因此您只想执行一次。

正如你所建议的那样,Global.asax是一个很好的地方。尽管将它放在一个单独的类中是个好主意,例如BootstrapperApplication_Start方法调用到的类中,这样也可以从您的单元测试中调用这个类和方法。

来自AutoMapper 文档

我在哪里配置 AutoMapper?如果您使用的是静态 Mapper 方法,则每个 AppDomain 只需进行一次配置。这意味着放置配置代码的最佳位置是在应用程序启动中,例如用于 ASP.NET 应用程序的 Global.asax 文件。通常,配置引导程序类在其自己的类中,并且从启动方法调用此引导程序类。

另请参阅这个问题,其中有一些好主意,包括编写 AutoMapper 的 Jimmy Bogard 的建议。

于 2012-04-07T07:41:09.140 回答