我一直在ASP.NET 4.5 Webforms应用程序上做一些性能统计数据,在新的部署后初始启动时看起来有些迟钝。
我注意到的一点是创建AutoMapper地图确实需要一些时间。
由于这些地图只是很少使用,我想知道我是否可能“延迟”创建这些地图,直到第一次需要它们 - 这是一种“懒惰的初始化”。
在这种情况下,我必须有一些“非破坏性的”(例如没有抛出异常)检查给定地图是否存在的方式 - 如果在AutoMapper中有类似的东西吗?
谢谢!
答案 0 :(得分:1)
您可以使用FindTypeMapFor
:
if (Mapper.FindTypeMapFor<TSource, TDestination>() == null)
Mapper.CreateMap<TSource, TDestination>();
// Map object
还有一个带有类型参数的重载。