4

是否可以将 Mini-Profiler 与 Simple.Data Library 一起使用?我用它从 MySql 中获取数据,如下所示:

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

如何使用此代码使用 Profiler?

4

2 回答 2

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();
}
于 2012-02-27T13:16:38.423 回答
0

添加了一个新的钩子,Simple.Data可以更好地与 MiniProfiler 集成。

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

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

注意:在撰写本文时,此更改尚未包含在 nuget 包中。所以你需要你的自定义构建Simple.Data

于 2013-03-25T20:28:57.233 回答