Dapper с MVCMiniProfiler

Я хочу использовать MVCMiniProfiler с Dapper. Возможно ли это за пределами переноса вызова "Запрос" из dapper в блок "Использование Profiler.Step"?

У меня есть этот основной вызов Dapper:

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

Примеры MiniProfiler показывают это

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

Я застрял в реализации "Get" на ProfiledDbConnection. Можно ли использовать ProfiledDbConnection при использовании Dapper?

1 ответ

Решение

Хороший улов, документация устарела, просто обновил ее:

Используйте что-то вроде:

return MiniProfiler.Current != null ? 
        new MvcMiniProfiler.Data.ProfiledDbConnection(cnn, MiniProfiler.Current) : 
        cnn;

Я убил фабрику, потому что хотел, чтобы люди могли наследовать ProfiledDbConnection, а статика не может быть виртуализирована.

Другие вопросы по тегам