实体框架模型更改错误

时间:2013-06-09 13:37:23

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

我收到错误

  

“自创建数据库以来,支持'DataContext'上下文的模型已发生更改。请考虑使用Code First Migrations来更新数据库”。

我正在使用Entity Framework并在声明DataContext后更改了我的模型。我该如何解决这个错误?

4 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:8)

  1. 如果您已经部署了应用程序,或者您不想从数据库中删除数据,则必须阅读有关Code First Migrations的信息。您可以在此处获得链接:http://msdn.microsoft.com/en-us/library/hh770484(v=vs.103).aspx

  2. 如果你可以删除数据库就行了。 EF将创建与您的模型匹配的新数据库。

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

    Database.SetInitializer<MyDbContext>(null);
    

答案 2 :(得分:1)

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

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

不要忘记处理DbUpdateException

答案 3 :(得分:0)

删除SQL Server中的__MigrationHistory表,或者只删除该表中的所有行