C# 有没有更好的方法在应用程序启动后运行automapper?

C# 有没有更好的方法在应用程序启动后运行automapper?,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我确实将我的映射放在了应用程序中,就像这样: protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(

我确实将我的映射放在了应用程序中,就像这样:

protected void Application_Start()
{
  AreaRegistration.RegisterAllAreas();

  WebApiConfig.Register(GlobalConfiguration.Configuration);
  FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
  RouteConfig.RegisterRoutes(RouteTable.Routes);
  BundleConfig.RegisterBundles(BundleTable.Bundles);
  AuthConfig.RegisterAuth();

  Mapper.CreateMap<Item, StockItems>(); <-- Here
}

有更好的方法吗

我认为当你说得更好时,你是在接受其他选择?如果是这样,如果性能影响可以接受,则可以在需要映射时使用DynamicMapTSource。这样可以避免创建映射:

var stockItem = Mapper.DynamicMap<Item, StockItems>(item);

可能重复的哇!我不知道你能做到。谢谢你,伙计。Mapper.Create与Mapper.DynamicMap有什么区别?我真的很想听听你的想法。@BoyPasmo基本上,DynamicMap既创建映射配置又映射对象,而Map要求你首先调用CreateMap。老实说,我不确定AutoMapper是否在调用DynamicMap时对配置进行内部缓存,这就是为什么您应该了解每个请求场景中的性能影响。