C# · 12月 22, 2021

c# – Mini Profiler与SqlConnection集成

我在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