使用mvc-mini-profiler 1.9“无法确定提供程序名称”错误

时间:2011-09-02 16:28:25

标签: asp.net entity-framework mvc-mini-profiler

我正在使用mvc-mini-profiler的实体框架。从mvc-mini-profiler 1.7升级到版本1.9和solving some issues后,我设法编译了我的项目。现在我得到以下运行时异常:

  

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

我认为问题可能与配置的数据库提供程序工厂有关,因为我在1.7版本中遇到了同样的问题,并通过在我的.config文件中添加以下内容来解决它:

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

现在我尝试用以下内容替换上面的内容,但我仍然收到错误:

<DbProviderFactories>
    <remove invariant="MvcMiniProfiler.Data.ProfiledDbProvider" />
    <add name="MvcMiniProfiler.Data.ProfiledDbProvider" 
         invariant="MvcMiniProfiler.Data.ProfiledDbProvider" 
         description="MvcMiniProfiler.Data.ProfiledDbProvider" 
         type="MvcMiniProfiler.Data.EFProfiledDbProviderFactory`1, MvcMiniProfiler.EntityFramework, Version=1.9.1.0, Culture=neutral, PublicKeyToken=b44f9351044011a3" />
</DbProviderFactories>

解决此问题的正确配置是什么?

1 个答案:

答案 0 :(得分:4)

您是否尝试从.config中删除DbProviderFactories?

你有初始化吗?

protected void Application_Start()
{
    ....other code

    MiniProfilerEF.Initialize();
}

使用1.9,我刚刚在Start中添加了Initialize并删除了配置部分,现在我使用EF进行SQL分析。