【问题标题】:Entity Framework model change error实体框架模型更改错误
【发布时间】:2013-06-05 07:12:57
【问题描述】:

我收到了错误

“支持 'DataContext' 上下文的模型在创建数据库后发生了变化。考虑使用 Code First 迁移来更新数据库”。

我正在使用实体框架,并在声明 DataContext 后更改了我的模型。我该如何解决这个错误?

【问题讨论】:

  • 您使用的是哪个实体框架?

标签: asp.net-mvc-4 entity-framework-5 datacontext


【解决方案1】:

删除 SQL Server 中的 __MigrationHistory 表或该表的所有行,它应该修复它

【讨论】:

    【解决方案2】:

    在更改数据库上下文后,我首先使用数据库创建项目 并解决了我的问题:

    Database.SetInitializer<Models.YourDbContext>(null);
    

    别忘了处理DbUpdateException

    【讨论】:

      【解决方案3】:

      如果您删除 SQL Server 中的 __MigrationHistory 表,它应该会修复它。

      【讨论】:

      • 删除该表中的所有行似乎也有相同的效果。
      【解决方案4】:
      1. 如果您已经部署了应用程序,或者您不想从数据库中删除数据,则必须阅读有关 Code First 迁移的信息。这里有一个链接:http://msdn.microsoft.com/en-us/library/hh770484(v=vs.103).aspx

      2. 如果您可以删除数据库,请执行此操作。 EF 将创建与您的模型匹配的新数据库。

      3. 您还可以通过调用以下代码来禁用创建/更新数据库结构:

        Database.SetInitializer<MyDbContext>(null);
        

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-21
        相关资源
        最近更新 更多