加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Mini Profiler与SqlConnection集成

发布时间:2020-12-15 04:30:18 所属栏目:百科 来源:网络整理
导读:我在Web表单应用程序中有一个现有的数据库连接功能,我想与 mini profiler集成.我在应用程序上安装并运行了迷你探查器,但我似乎无法正确连接数据库部分.下面是我们连接到db的代码的一部分. public override IEnumerableIDataRecord Execute(){ using( SqlConn
我在Web表单应用程序中有一个现有的数据库连接功能,我想与 mini profiler集成.我在应用程序上安装并运行了迷你探查器,但我似乎无法正确连接数据库部分.下面是我们连接到db的代码的一部分.
public override IEnumerable<IDataRecord> Execute()
{
    using( SqlConnection conn = new SqlConnection( ConnectionString ) ) {
        using( SqlCommand command = new SqlCommand( CommandText,conn ) ) {
            command.CommandType = SQLCommandType;
            foreach( SqlParameter p in ParamsToAdd ) {
                command.Parameters.Add( p );
            }
            conn.Open();
            SqlDataReader rdr;
            try {
                rdr = command.ExecuteReader();
            } catch( Exception ex ) {
                //log error
            }
            using( rdr ) {
                while( rdr.Read() ) {
                    yield return (IDataRecord)rdr;
                }
            }
        }
    }
}

我可以像这样轻松地绕过ExecuteReader():

using( MiniProfiler.Current.Step( command.CommandText ) ) {
    rdr = command.ExecuteReader();
}

但这使得迷你探查器与跟踪一样有用,我想获得网站上显示的查询功能.任何帮助?

解决方法

您可以尝试使用此代码 – 基于ProfiledDbConnection类
var connection = MiniProfiler.Data.ProfiledDbConnection.Get(new SqlConnection(str));
var cmd = connection.CreateCommand();
var param = connection.CreateParameter();

链接:https://github.com/ServiceStack/ServiceStack/tree/master/src/ServiceStack/MiniProfiler/Data

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读