无法让mvc mini profiler与EF 4.2一起使用

时间:2012-01-26 19:27:34

标签: c# entity-framework ef-code-first mvc-mini-profiler

我已经通过堆栈溢出帖子进行了搜索但到目前为止还没有运气。我已经开始使用Entity framework 4.2的新MVC 3项目。我用nuget来安装MiniProfiler,MiniProfiler.MVC3和MiniProfiler.EF软件包(MiniProfiler.EF也被添加到我的域层)。没有分析实体框架,一切正常。当我通过取消注释行MiniProfilerEF.Initialize();来分析EF时,我收到错误:

无法发现“MvcMiniProfiler.Data.EFProfiledDbConnection”类型的指定商店连接的提供程序工厂。已定义已定义“MvcMiniProfiler.Data.EFProfiledDbConnection”的程序集中的已注册提供程序工厂和所有提供程序工厂,以查找将生成匹配连接的工厂。

我尝试获取最新的源代码,因为我阅读了EF 4.1的更新需要它。现在,当我运行项目时,我收到错误:

无法确定“MvcMiniProfiler.Data.EFProfiledDbConnection”类型连接的提供商名称。

我所经历的文件有点令人困惑,因为我无法分辨出什么是新的和什么是旧的。从this post开始,我似乎需要在web.config中修改任何内容。我还缺少另一个步骤吗?谢谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您应该将MiniProfilerEF.Initialize();放在之前对数据库进行任何访问:

protected void Application_Start()
{
       MiniProfilerEF.Initialize();

       // Start access database from here ...
       // For example call MyDbContext.Database.Exists();
}

答案 1 :(得分:0)

您的Web.config文件中是否有此条目?

  <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>