Dapper.net: Cómo imprimir consultas con valores de parámetros

dapper orm

Pregunta

Tomemos un ejemplo:

const string PERSON_SQL = "SELECT Id " +
                           "FROM Persons " +
                           "WHERE LastName=@LastName AND FirstName=@FirstName";
patientId = connection.ExecuteScalar<int>(PERSON_SQL, new
{
    LastName = _entity.Lastname,
    FirstName = _entity.Firstname
});

Me gustaría imprimir consultas SQL reales con valores de parámetros para depuración. Estoy seguro de que hay alguna extensión o función de ayuda para ello ...

Respuesta aceptada

Dapper no incluye esa funcionalidad, los autores tienden a utilizar MiniProfiler para capturar consultas SQL (ver la respuesta de Marc Gravell sobre algo similar ).

También podría usar el Analizador de SQL, suponiendo que esté utilizando una base de datos SQL.

Finalmente, si nada "fuera de la plataforma" satisface sus necesidades, podría ajustar las conexiones y los comandos de la base de datos que utiliza con Dapper y capturar / registrar las consultas (y parámetros) cuando se invocan ExecuteReader, ExecuteScalar, etc. Tuve un código de muestra para esto en mi respuesta a una pregunta que alguien tenía sobre el uso de Dapper con Access (aunque el código de muestra es independiente de la base de datos, por lo que podría usar la "WrappedDbConnection" con cualquier base de datos que esté usando en este momento).



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é