Sql server 2008 EF 4.1代码优先项目上的Mvc Mini Profiler v1.7不';t配置文件SQL
昨天我在项目中安装了MiniProfiler.MVC3-1.7包。控制器和视图评测工作正常,但我真正感兴趣的是SQL评测。我一直没能让它工作。我首先在SQL 2008数据库中使用EF代码 我遵循了这篇文章中的所有建议 在miniprofiler.cs中,我的SQL连接设置为Sql server 2008 EF 4.1代码优先项目上的Mvc Mini Profiler v1.7不';t配置文件SQL,sql-server-2008,asp.net-mvc-3,entity-framework-4.1,ef-code-first,mvc-mini-profiler,Sql Server 2008,Asp.net Mvc 3,Entity Framework 4.1,Ef Code First,Mvc Mini Profiler,昨天我在项目中安装了MiniProfiler.MVC3-1.7包。控制器和视图评测工作正常,但我真正感兴趣的是SQL评测。我一直没能让它工作。我首先在SQL 2008数据库中使用EF代码 我遵循了这篇文章中的所有建议 在miniprofiler.cs中,我的SQL连接设置为 var factory = new SqlConnectionFactory(ConfigurationManager.ConnectionStrings["CMDBMVC3"].ConnectionString);
var factory = new SqlConnectionFactory(ConfigurationManager.ConnectionStrings["CMDBMVC3"].ConnectionString);
我的Web.config数据库连接是
<add name="CMDBMVC3" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI; AttachDBFilename=|DataDirectory|CMDB_MVC3.mdf;Initial Catalog=CMDB_MVC3;Trusted_Connection=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
如果我在mini profiler行上放置一个断点,它将指向正确的db连接。我不知道现在还能做什么。如果您能告诉我如何使SQL分析正常工作,我将不胜感激。我首先使用EF代码,在我的上下文构造函数中使用mini profiler,我将创建一个新的连接工厂并将其传递给ProfiledDbConnectionFactory方法。这将返回一个配置好的连接,然后您可以将其设置为上下文
public MyConext()
{
var factory = new ConnectionFactory();
var profiled = new MvcMiniProfiler.Data.ProfiledDbConnectionFactory(factory);
Database.DefaultConnectionFactory = profiled;
}
ConnectionFacotry只返回一个新的sql连接
public class ConnectionFactory :IDbConnectionFactory
{
public DbConnection CreateConnection()
{
var cnn = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings["SomeConnection"].ToString());
return cnn;
}
您还需要将ProfiledDBProvider添加到web配置文件中。确保版本号适合您
<system.data>
<DbProviderFactories>
<remove invariant="MvcMiniProfiler.Data.ProfiledDbProvider" />
<add name="MvcMiniProfiler.Data.ProfiledDbProvider" invariant="MvcMiniProfiler.Data.ProfiledDbProvider"
description="MvcMiniProfiler.Data.ProfiledDbProvider"
type="MvcMiniProfiler.Data.ProfiledDbProviderFactory, MvcMiniProfiler, Version=1.7.0.0, Culture=neutral, PublicKeyToken=b44f9351044011a3" />
</DbProviderFactories>
</system.data>
对于我来说,使用Miniprofiler nuget包在MVC和asp.net webforms中都能很好地工作。我还想看看nuget软件包的新MVC版本,该软件包将自动配置评测作为全局操作过滤器的一部分 有人能帮我吗?我仍然无法让SQL分析正常工作。感谢任何人提供的帮助。非常感谢您的回复。我正在使用MiniProfiler.MVC3 v1.7。此版本已在App_Start文件夹中创建MiniProfiler.cs。Mine按如下方式填充'code'public static void PreStart(){var factory=new SqlConnectionFactory(ConfigurationManager.ConnectionStrings[“CMDBMVC3”].ConnectionString);var profiled=new MvcMiniProfiler.Data.ProfiledDbConnectionFactory(factory);Database.DefaultConnectionFactory=profiled;}实际上,我已经在两台独立的计算机上的两个独立项目上尝试了miniprofiler.mvc3 v1.7,并且得到了完全相同的响应。根本没有SQL分析。很明显我做错了什么我就是不知道是什么。