Je suis mappage de mes entités générées Linq-To-SQL à DTO en utilisant AutoMapper.Comment désactiver la conversion automatique de la liste AutoMapper entre la liste <T> et EntitySet <T>?
Lorsque j'ai d'abord créé les tests unitaires, j'avais des cartes spécifiques (par une classe de configuration statique) mis en place pour convertir un type de EntitySet à une liste générique (et vice-versa)
Mapper.CreateMap<EntitySet<Member>, List<MemberDTO>>();
Mapper.CreateMap<List<MemberDTO>, EntitySet<Member>>();
Lors du retrait les conversions de liste (en calculant qu'AutoMapper les convertira automatiquement), mes tests unitaires ont quand même fonctionné, mais ils ont ralenti à un crawl. Il était si lent, il a fallu littéralement une minute pour effectuer chaque test. Après avoir rajouté les mappages de liste, les tests unitaires ont repris leurs vitesses de performance normales.
Existe-t-il un moyen de désactiver cette conversion automatique pour les listes, de sorte que je doive mapper les conversions de ma liste? Je voudrais qu'il lance une exception AutoMapperException si je ne parviens pas à inclure une carte. J'aimerais éviter ces problèmes de performances.
Si le pire se produit, je finirais par écrire un modèle de génération de code rapide pour créer automagiquement ma classe de configuration de mappage basée sur les DTO. De cette façon, je ne manquerai de rien.
Merci.
Pas une réponse à votre question, mais un commentaire: Vous pouvez également tester le temps d'exécution. Si vous craignez d'oublier accidentellement une telle conversion et de livrer une application qui est lente en un point, vous pouvez ajouter un paramètre Timeout qui échoue au test s'il exécute plus de X secondes. –
Merci pour le conseil! – CitizenBane