如何使用包管理器控制台使用实体框架在通用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()
将应用所有迁移进行更新。如果您不想要最新更新,只需将其删除即可回滚。