Requête très rapide mais cartographie lente avec dapper

dapper sql

Question

J'utilise dapper pour un nouveau projet et je l'aime mais je ne comprends pas pourquoi mes requêtes sont vraiment lentes. Le temps d'exécution est très rapide, presque instantané, mais la connexion reste ouverte beaucoup plus longtemps pendant que dapper associe le résultat à mon objet, je suppose.

Voici un exemple en aperçu:

Résultat aperçu

Cette requête est juste un SELECT sur quelque chose comme 15 champs avec un où sur la clé primaire, donc il est vraiment rapide à exécuter et il ne renvoie pas beaucoup de données. Mon code pour l'exécuter est:

 using (var conn = GetConnection())
 {
    obj = conn.Get<T>(id);
 }

Et l'objet est un poco très basique avec Strings et Ints. Alors, pourquoi est-ce que je perds 220 ms alors que l'exécution de la requête prend 3 ms? Où est la différence?

Merci de votre aide !

Réponse populaire

J'ai vécu une expérience similaire avec Dapper alors que j'essayais de projeter d'un objet View à un objet POCO. Le problème étant que je n'avais pas de colonne pour chaque propriété de mon objet, le Convert.ChangeType () était très lent. J'ai ajouté une colonne à mon affichage qui renverrait toujours NULL, et l'appel Query () accélérait considérablement.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi