如何使用包管理器控制台使用实体框架在通用Windows平台中降级/回滚迁移?

问题描述:

我修改了模型中的一个属性,事实证明它不受SQLite版本的支持。这是错误。 {"SQLite does not support this migration operation ('DropColumnOperation'). For more information, see http://go.microsoft.com/fwlink/?LinkId=723262."}如何使用包管理器控制台使用实体框架在通用Windows平台中降级/回滚迁移?

因此,我决定使用命令Update-Database Migration "MyFirstMigration"将其回滚,但在控制台上显示错误,其中指出Update-Database shouldn't be used with Universal Windows Platform apps. Instead, call DbContext.Database.Migrate() at runtime.。推荐的这个代码已经是在第一次运行应用程序时执行的代码,它会产生上面的第一个错误。

我真的很想进入这里。有人可以建议我如何回滚/降级MySecondMigration ti MyFirstMigration

有人可以建议我如何回滚/降级MySecondMigration ti MyFirstMigration?

对于同一DbContext,包管理器控制台上只需要执行Remove-Migration命令,它会删除该DbContext最后迁移。这是你的MySecondMigration这将被删除,只有MyFirstMigration离开。

更新数据库不应该与通用Windows平台应用程序一起使用。相反,调用DbContext.Database.Migrate()在运行时

对于这一点,只是如图所示此错误,DbContext.Database.Migrate()适用于上下文数据库的任何未决的迁移,包括哪些Update-Database做(数据库更新到指定的移民)。通过我的测试,对于相同的DbContext,每次新迁移都是基于旧迁移的更新。 DbContext.Database.Migrate()将应用所有迁移进行更新。如果您不想要最新更新,只需将其删除即可回滚。