使用Simple.Data的Mini-Profiler

时间:2012-02-21 19:01:20

标签: .net mvc-mini-profiler simple.data

是否可以将Mini-Profiler与Simple.Data库一起使用?我使用它来从MySql获取数据:

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

如何使用此代码向Profiler用户?

2 个答案:

答案 0 :(得分:3)

您可以告诉Simple.Data使用预先存在的连接并使用配置文件连接包装您的连接:

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();
}

答案 1 :(得分:0)

addedSimple.Data的新挂钩,可以更好地与MiniProfiler集成。

AdoAdapter.ConnectionCreated += (o, args) => args.OverrideConnection(new ProfiledDbConnection((DbConnection)args.Connection, MiniProfiler.Current));

此basicallt允许您连接到创建的连接事件,并使用您自己的配置文件连接覆盖它。

注意:截至撰写本文时,此更改尚未在nuget包中。因此,您需要自定义版本Simple.Data