Search code examples
.netmvc-mini-profilersimple.data

Mini-Profiler with Simple.Data


Is it possible to use Mini-Profiler with Simple.Data Library? I use it to get data from MySql like this:

var db = Database.OpenConnection(ConnectionString);
var book = db.Books.FindById(id);

How can I user Profiler with this code?


Solution

  • You can tell Simple.Data to use a pre-existing connections and wrap your connection with a profiled connection:

    var db = Database.OpenConnection(ConnectionString);
    using (var rawCnn =  new MySqlConnection(ConnectionString)) 
    using (var profiledCnn = new MvcMiniProfiler.Data.ProfiledDbConnection(rawCnn, MiniProfiler.Current);
    {
        profiledCnn.Open();
        ((AdoAdapter)db.GetAdapter()).UseSharedConnection(profiledCnn);
        book = db.Books.FindById(id);
        ((AdoAdapter)db.GetAdapter()).StopUsingSharedConnection();
    }