我遇到了dbo .__ MigrationHistory表未通过新数据库迁移进行更新的问题,但是实际的数据库本身已通过相关更改正确地进行了更新。这意味着该站点由于发现上下文中的更改而无法加载-我必须手动将新更改插入dbo .__ MigrationHistory表以使其加载。
当我从Visual Studio发布到Azure时,在我的PRODUCTION网站中一切正常。但是,我仅在我的TEST网站(发布配置文件不同)上遇到了这个问题。
我已经在TEST和PRODUCTION发布配置文件上的发布配置文件中选中了EXECUTE CODE FIRST MIGRATIONS框。确实,除了推送到其他站点之外,两个发布配置文件似乎都是相同的。
以防万一-每当发生这种情况时,我的localdb SqlServer数据库在发布期间也将变为未连接。因此,在本地PC上,我必须返回并在SQL Server Management Studio中重新附加.mdf数据库文件。
您可以提供的任何帮助/建议都很棒。
答案 0 :(得分:0)
在很多情况下,Entity Framework迁移使迁移状态处于无法使用的状态。通常,这是在来自不同开发人员的大量迁移应用之后发生的,并且陷入了我们无法通过新迁移来更新数据库或回滚的地方。
从当前架构中删除迁移并以干净状态开始更简单。
如果您选择重置迁移的路线,请确保您备份了代码并为数据库做好了良好的备份。
总而言之,执行此操作的步骤是:
这不是理想的解决方法,但是可以解决您的问题。
P.S。-通常是当有人从本地计算机更新数据库并且它不同步时发生。