zoukankan      html  css  js  c++  java
  • C#-MVC开发常见异常处理

    一、EF框架问题

    08220818-cc0b246b2ea14f14a3f36dd0783fa78f

    错误的提示为:Model compatibility cannot be checked because the database does not contain model metadata.Model compatibility can only be checked for databases created using Code First or Code First Migrations.

    分析:这是EF在访问数据库发现实体类与数据库的表不一致。

    解决方法:

    方法一:注释掉EF的检查实体类与数据表一致性的语句。

    将global.asax.cs 中 application_start 第一行注掉,即可,
    protected void Application_Start()
    {
    // System.Data.Entity.Database.SetInitializer(new MvcMusicStore.Models.SampleData());
    
    AreaRegistration.RegisterAllAreas();
    
    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);
    }

    方法二:删除数据表,EF将根据实体类重新创建数据表

    USE [master]
    GO
    
    /****** Object: Database [DBname] ******/
     ALTER DATABASE [DBname] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
     ALTER DATABASE [DBname] SET SINGLE_USER WITH NO_WAIT
     DROP DATABASE [DBname]
     GO
    复制代码         

    二、在建立区域(Area)时常见异常

    今天,在.net4.5,mvc4下新建了个区域,运行起来就报这个错误:

    命名空间“System.Web”中不存在类型或命名空间名称“Optimization”(是否缺少程序集引用?)

    后来发现问题竟然出现在,区域文件夹中view文件夹下的Web.config文件配置中:

    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization"/>
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>

    这个配置中自动引入了System.Web.Optimization,只要将<add namespace="System.Web.Optimization"/>去掉就可以了

  • 相关阅读:
    luogu P2472 [SCOI2007]蜥蜴 网络流 拆点
    luogu P2762 太空飞行计划问题 网络流24
    luogu P2774 方格取数问题 网络流24 最小割
    luogu P2766 最长不下降子序列问题 网络流24
    Codeforces Round #651 (Div. 2) E
    Codeforces Round #651 (Div. 2) D
    Codeforces Round #651 (Div. 2) C
    Codeforces Global Round 8 E
    Codeforces Global Round 8 D
    【最小生成树】Truck History POJ
  • 原文地址:https://www.cnblogs.com/wllhq/p/4719483.html
Copyright © 2011-2022 走看看