带有 Simple.Data 的迷你分析器

发布于 2025-01-08 03:12:17 字数 236 浏览 0 评论 0原文

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

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

How can I user Profiler with this code?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

两人的回忆 2025-01-15 03:12:17

您可以告诉 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();
}

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();
}
够运 2025-01-15 03:12:17

添加Simple.Data 可以更好地与 MiniProfiler 集成。

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

此 basicallt 允许您连接到连接创建事件并使用您自己的分析连接覆盖它。

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

There is a new hook that was added to Simple.Data which allows for better integration with MiniProfiler.

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

This basicallt allows you to hookup to the connection created event and override it with your own profiled connection.

NOTE: As of writing of this post, this change isn't in the nuget package yet. so you need your custom build of Simple.Data

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文