MiniProfiler MVC DBContext - 无法确定提供程序名称

3
我将尝试使用Mini Profiler来分析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); 
    }
}

然后我使用一个工作单元(Unit of Work):

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文件中

1个回答

0

EF6 nuget已经发布。您可以在这里找到它,并使用Install-Package MiniProfiler.EF6 -Pre进行安装。

要初始化,请在应用程序启动逻辑中调用以下内容:

using StackExchange.Profiling.EntityFramework6;

...

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

在任何方式使用EF之前,请确保调用此方法。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接