使用MVCMiniProfiler的小巧玲瓏

dapper mvc-mini-profiler

我想將MVCMiniProfiler與Dapper一起使用。除了在“使用Profiler.Step”塊中包裝來自dapper的“查詢”調用之外,這是否可能?

我有這個基本的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上實現“Get”。使用Dapper時是否可以使用ProfiledDbConnection?

一般承認的答案

好的捕獲,文檔已過時,只是更新它:

使用類似的東西:

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

我殺了工廠因為我希望人們能夠繼承ProfiledDbConnection並且靜態無法虛擬化。



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因