Elegante con mvcminiprofiler
-
27-10-2019 - |
Pregunta
Quiero usar el MVCminiprofiler con Dapper. ¿Es esto posible más allá de envolver la llamada de "consulta" de Dapper en el bloque "Using Profiler.step"?
Tengo esta llamada básica de elegante:
Dim comments As List(Of Comment)
Using conn = New SqlConnection(ConnectionString)
conn.Open()
comments = conn.Query(Of Comment)("SELECT * from comments where userid = @userid", New With {.userid= 1})
End Using
Los ejemplos de miniprofiler muestran esto
Private Shared _sqlConnection As SqlConnection
Public Shared Function GetOpenConnection() As DbConnection
If _sqlConnection Is Nothing Then
_sqlConnection = New SqlConnection("connection string")
End If
' wrap the connection with a profiling connection that tracks timings
Return MvcMiniProfiler.Data.ProfiledDbConnection.[Get](_sqlConnection, MiniProfiler.Current)
End Function
Donde estoy atrapado está en la implementación de la "Get" en la Conconnección ProfileDDB. ¿Es posible usar ProfiledDBConnection mientras usa Dapper?
Solución
Buena captura, la documentación está desactualizada, solo la actualiza:
Usa algo como:
return MiniProfiler.Current != null ?
new MvcMiniProfiler.Data.ProfiledDbConnection(cnn, MiniProfiler.Current) :
cnn;
Maté a la fábrica porque quería que las personas pudieran heredar ProfileDDBConnection y las estadísticas no se pueden virtualizar.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow