gpt4 book ai didi

sql-server-2008 - EF 4.1 Code-First 项目上的 Mvc-Mini-Profiler v1.7 不分析 SQL

转载 作者:行者123 更新时间:2023-12-01 22:55:37 25 4
gpt4 key购买 nike

我昨天在我的项目中设置了 MiniProfiler.MVC3 - 1.7 包。 Controller 和 View 分析工作正常,但我真正感兴趣的是 SQL 分析。我一直无法让它发挥作用。我在 SQL 2008 数据库中使用 EF Code First。

我已经遵循了这篇文章中的所有建议..

mvcminiprofiler-on-ef-4-1-code-first-project-doesnt-profile-sql

在 miniprofiler.cs 中,我将 SQL 连接设置为...

 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 行上放置一个断点,它会指向正确的数据库连接。我不知道此时还能做什么。我很感激有关如何使 SQL 分析工作的任何指示。

最佳答案

我首先使用 EF 代码,然后在我的 Context 构造函数中使用迷你分析器,我创建了一个新的连接工厂并将其传递给 ProfiledDbConnectionFactory 方法,该方法返回一个已分析的连接,然后您可以将其设置为上下文的 DefaultConnectionFactory。

public MyConext()
{
var factory = new ConnectionFactory();
var profiled = new MvcMiniProfiler.Data.ProfiledDbConnectionFactory(factory);
Database.DefaultConnectionFactory = profiled;
}

连接 Facotry 只是返回一个新的 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>

这对我来说在 MVC 和 asp.net webforms 中使用 Miniprofiler nuget 包都很好。我还将查看 nuget 包的新 MVC 版本,该包将自动配置分析作为全局操作过滤器的一部分。

关于sql-server-2008 - EF 4.1 Code-First 项目上的 Mvc-Mini-Profiler v1.7 不分析 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6889929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com