加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – EF 4.1上的MvcMiniProfiler代码优先项目不配置

发布时间:2020-12-15 23:52:55 所属栏目:asp.Net 来源:网络整理
导读:我有1.6版的MvcMiniProfiler引用(通过Nuget),并按照项目主页 http://code.google.com/p/mvc-mini-profiler/所述设置所有内容. 我在Web.config中有以下代码: system.data DbProviderFactories remove invariant="MvcMiniProfiler.Data.ProfiledDbProvider" /
我有1.6版的MvcMiniProfiler引用(通过Nuget),并按照项目主页 http://code.google.com/p/mvc-mini-profiler/所述设置所有内容.

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

(项目主页版本= 1.5.0.0 – NuGet软件包已更新)

我在Global.asax中有以下代码(和连接字符串也在Web.config中定义):

protected void Application_Start()
    {
        Log.Info("ReCoupon has started.");

        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);

        var factory = new SqlConnectionFactory(ConfigurationManager.ConnectionStrings["ReCouponContext"].ConnectionString);
        var profiled = new MvcMiniProfiler.Data.ProfiledDbConnectionFactory(factory);
        Database.DefaultConnectionFactory = profiled;

        Database.SetInitializer(new ReCouponContextInitializer());
    }

分析器工作得很好,除了我无法得到它来配置SQL.我正在使用SQL Server 2008 Express.我已经在Google Code项目主页上关注相关问题,并完全陷入困境.

解决方法

这一次让我很久很久以来一直陷入困境.看来连接字符串命名约定优先于Database.DefaultConnectionFactory.

可以尝试重新命名web.config中的连接字符串吗?

<connectionStrings>
       <add name="ReCouponContext" connectionString="..." />
   </connectionStrings>

<connectionStrings>
       <add name="ReCoupon" connectionString="..." />
   </connectionStrings>

然后改变

var factory = new SqlConnectionFactory(ConfigurationManager.ConnectionStrings["ReCouponContext"].ConnectionString);

var factory = new SqlConnectionFactory(ConfigurationManager.ConnectionStrings["ReCoupon"].ConnectionString);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读