【发布时间】:2013-06-05 07:12:57
【问题描述】:
我收到了错误
“支持 'DataContext' 上下文的模型在创建数据库后发生了变化。考虑使用 Code First 迁移来更新数据库”。
我正在使用实体框架,并在声明 DataContext 后更改了我的模型。我该如何解决这个错误?
【问题讨论】:
-
您使用的是哪个实体框架?
标签: asp.net-mvc-4 entity-framework-5 datacontext
我收到了错误
“支持 'DataContext' 上下文的模型在创建数据库后发生了变化。考虑使用 Code First 迁移来更新数据库”。
我正在使用实体框架,并在声明 DataContext 后更改了我的模型。我该如何解决这个错误?
【问题讨论】:
标签: asp.net-mvc-4 entity-framework-5 datacontext
删除 SQL Server 中的 __MigrationHistory 表或该表的所有行,它应该修复它
【讨论】:
在更改数据库上下文后,我首先使用数据库创建项目 并解决了我的问题:
Database.SetInitializer<Models.YourDbContext>(null);
别忘了处理DbUpdateException
【讨论】:
如果您删除 SQL Server 中的 __MigrationHistory 表,它应该会修复它。
【讨论】:
如果您已经部署了应用程序,或者您不想从数据库中删除数据,则必须阅读有关 Code First 迁移的信息。这里有一个链接:http://msdn.microsoft.com/en-us/library/hh770484(v=vs.103).aspx
如果您可以删除数据库,请执行此操作。 EF 将创建与您的模型匹配的新数据库。
您还可以通过调用以下代码来禁用创建/更新数据库结构:
Database.SetInitializer<MyDbContext>(null);
【讨论】: