使用mvc-mini-profiler和ADO.NET SqlConnection

Tod*_*odK 5 sql-server ado.net mvc-mini-profiler

我正在尝试使用(真棒)mvc-mini-profiler和一些预先存在的SqlConnection存储过程代码(我们不使用EF或L2S,只使用ADO.NET到SQL Server 2008).我正在寻找关于如何将继承ProfiledDb类型集成到这种代码中的一些指导.

var con = new SqlConnection("connectionstring");  
var cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.CommandText = "SP_STORED_PROCEDURE_NAME";
cmd.Paramters.Add("recordsetid",SqlDbType.UniqueIdentifier).Value = recordsetid;
var dSet = new DataSet();
var da = new SqlDataAdapter(cmd);
da.fill(dSet);
<parse DataSet>
Run Code Online (Sandbox Code Playgroud)

对于我们遗留的ADO.NET用户来说,任何帮助都会很棒,因为从表面上看,SQL分析器应该适用于这种情况

Sam*_*ron 4

您需要做的就是包装您的连接并使用 DbConnectionCreateCommand工厂。

类似地,要传递参数,您将需要使用基本接口方法,并避免诸如SqlParameter因未包装之类的东西。

所以:

var cnn = MvcMiniProfiler.Data.ProfiledDbConnection.Get(new SqlConnection(str));
var cmd = cnn.CreateCommand();
var param = cmd.CreateParameter(); 
...
Run Code Online (Sandbox Code Playgroud)

我还没有测试过 DataSets 和 DataAdapters,老实说,这些天我使用 Dapper 来做这类事情,因为它不那么冗长。如果出现这种情况,请务必报告 Google 代码。