2015-11-10 1 views
3

J'ai effectué quelques statistiques sur les performances d'une application ASP.NET 4.5 Webforms, ce qui semble un peu lent au démarrage initial après un nouveau déploiement.Initialisation automatique d'AutoMapper

L'un des points que j'ai remarqué est que la création des cartes AutoMapper prend du temps. Comme ces cartes ne sont utilisées que rarement, je me demandais si je pouvais "retarder" la création de ces cartes jusqu'à la première utilisation - une sorte d '"initialisation paresseuse".

Dans ce cas, je devrais avoir une façon "non destructive" (par exemple sans lancer une exception) de vérifier si une carte donnée existe ou pas - s'il y a quelque chose comme ça dans AutoMapper?

Merci!

Répondre

1

Vous pouvez utiliser FindTypeMapFor:

if (Mapper.FindTypeMapFor<TSource, TDestination>() == null) 
    Mapper.CreateMap<TSource, TDestination>(); 

// Map object 

Il y a aussi une surcharge qui prend le type de paramètres.