在应用程序中配置autoMapper.Mapping一次

时间:2012-04-07 06:40:05

标签: asp.net automapper

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

1 个答案:

答案 0 :(得分:1)

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

如你所知,Global.asax是一个很好的去处。尽管将它放在一个单独的类中是个好主意,例如BootstrapperApplication_Start方法调用,这样也可以从单元测试中调用此类和方法。

来自AutoMapper docs

  

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

另见this question,其中包含一些好主意,包括撰写AutoMapper的Jimmy Bogard的建议。