6

Dapper で MVCMiniProfiler を使用したいと考えています。これは、dapper からの「Query」呼び出しを「Using 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 での「Get」の実装です。Dapperの使用中にProfiledDbConnectionを使用することは可能ですか?

4

1 に答える 1

5

良いキャッチ、ドキュメントは古くなっています、ちょうどそれを更新しました:

次のようなものを使用します:

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

人々がProfiledDbConnectionを継承できるようにしたかったので、ファクトリを強制終了しました。静的は仮想化できません。

于 2011-09-08T01:03:10.710 に答える