Consulta muy rápido pero mapeo lento con dapper

dapper sql

Pregunta

Estoy usando dapper para un nuevo proyecto y me encanta, pero no entiendo por qué mis consultas son realmente lentas. El tiempo de ejecución es muy rápido, casi instantáneo, pero la conexión permanece abierta mucho más tiempo, mientras que dapper está mapeando el resultado para mi objeto, supongo.

Aquí hay un ejemplo en la vista:

Resultado de Glimpse

Esta consulta es solo un SELECCIONAR en algo así como 15 campos con un donde en la clave principal, por lo que es muy rápido de ejecutar y no devuelve gran cantidad de datos. Mi código para ejecutarlo es:

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

Y el objeto es un poco muy básico con cadenas e Ints. Entonces, ¿por qué desperdicio 220 ms haciendo esto mientras que la ejecución de la consulta en sí tarda 3 ms? ¿Dónde está la diferencia?

Gracias por tu ayuda !

Respuesta popular

Tuve una experiencia similar con Dapper cuando intentaba proyectar desde una Vista a un objeto POCO. El problema era que no tenía una columna para cada propiedad en mi objeto, por lo que Convert.ChangeType () era muy lento. Agregué una columna a mi vista que siempre devolvería NULL, y la llamada a Query () se aceleró drásticamente.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué