我试图让它在mini Profiler中记录linq-to-sql为the documentation says
我将此添加到我的App_Code/DataClasses.designer.cs
,如下所示:
public MainContext() :
base(global::System.Configuration.ConfigurationManager.ConnectionStrings["ScirraConnectionString"].ConnectionString, mappingSource)
{
OnCreated();
}
// Code I'm adding in for the mini profiler
partial class DBContext
{
public static DBContext Get()
{
var conn = new MvcMiniProfiler.Data.ProfiledDbConnection(GetConnection(), MiniProfiler.Current);
return new DBContext(conn);
}
}
但它会引发错误:
The name 'GetConnection' does not exist in the current context
我也试过这个:
partial class DBContext
{
public static DBContext Get()
{
var conn = ProfiledDbConnection.Get(new System.Data.SqlClient.SqlConnection(global::System.Configuration.ConfigurationManager.ConnectionStrings["ScirraConnectionString"].ConnectionString));
return new DBContext(conn);
}
}
但它会抛出
'MvcMiniProfiler.Data.ProfiledDbConnection' does not contain a definition for 'Get'
我已经提到How can I make the ASP.NET MVC mini profiler work with Linq 2 SQL?,但那里的解决方案似乎都不适用于我。
有人能告诉我如何让它为linq-to-sql工作吗?
答案 0 :(得分:1)
如果你改变这个,你的第二个经验应该有效:
ProfiledDbConnection.Get(...)
......对此:
new ProfiledDbConnection(...)
因此,您应该使用构造函数来代替静态getter。
我认为他们在v1和v2之间的某处改变了ProfiledDbConnection的API,你仍然可以找到旧版本的示例代码。