3

我正在尝试使用迷你分析器来分析 ef 数据库操作,但我似乎可以让它工作。

我有:

public partial class BuzzEntities : DbContext
{
    public BuzzEntities() : 
        base(GetProfiledConnection(), true) 
    { 
    } 

    private static DbConnection GetProfiledConnection() 
    {
        var connectionString = ConfigurationManager.ConnectionStrings["BuzzEntities"].ConnectionString;
        var connection = new System.Data.EntityClient.EntityConnection(connectionString); 
        return new EFProfiledDbConnection(connection, MiniProfiler.Current); 
    }
}

然后我使用一个工作单元:

public class UnitOfWork : IDisposable
{
    private bool disposed = false;
    private BuzzEntities context = new BuzzEntities();
}

但是当我得到这个错误时:

无法确定“StackExchange.Profiling.Data.EFProfiledDbConnection”类型连接的提供程序名称

我有

  <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.EntityFramework, Version=1.9.1.0, Culture=neutral, PublicKeyToken=b44f9351044011a3" />
    </DbProviderFactories>
  </system.data>

在我的 web.config

4

1 回答 1

0

EF6 nuget 已发布。它在此处可用,并且可以使用Install-Package MiniProfiler.EF6 -Pre

要初始化,只需在应用程序启动逻辑中调用以下代码:

using StackExchange.Profiling.EntityFramework6;

...

protected void Application_Start()
{
    MiniProfilerEF6.Initialize();
}

请务必在以任何方式使用 EF 之前调用它。

如果您需要连接 EF5 或更早版本,请使用EF5 包,并按照MiniProfiler.com上的说明进行连接。

于 2014-03-04T08:25:24.950 回答