Элегантный с 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

Где я застрял, так это в реализации «Получить» в ProfiledDbConnection. Можно ли использовать ProfiledDbConnection при использовании Dapper?


person ericdc    schedule 07.09.2011    source источник


Ответы (1)


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

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

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

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

person Sam Saffron    schedule 08.09.2011