2014-01-21 54 views
0

我有一个特定场景,我无法在任何地方找到答案。实体框架代码在数据库迁移后第一次回滚

我想使用首先由VistaDB支持的实体框架代码。

存储的数据是用户特定的设置等,所以会有很多数据库副本,但它们永远不会在用户之间共享。但它们存储在本地存储中,与应用程序版本无关。

我可以设置好初始模型,并且向前迁移是正常的(虽然我还不完全了解如何在运行时在每个用户桌面上执行此操作)。

很多时候我们会把应用程序发布给一些用户,但如果出现问题,则会回滚到以前的版本。

如果用户使用更新后的模型运行应用程序的2.0版本,并且他们自动将其设置数据库自动迁移到目前为止这么好。

但现在我们将它们转回到版本1.0。我的理解是,随着模型向前滚动,1.0代码不能再访问数据库。那么解决方案是什么?

每次我们更新模型时,我都可以创建一个新的设置数据库,但是数据如何从旧的数据迁移过来?此外,这意味着在新版本中进行的设置更改将在回滚时丢失,反之亦然。

我真正想要的是模型更改被以前的版本忽略(假设模式兼容性)就像在XML中一样。即如果添加新列(或XML元素),旧代码会忽略它,因为它看不到它。但它仍然有效。也许我只需要原始数据库访问,而不是EF用于这种用例?

回答

0

我不知道这是否同为VistaDB的,但到角色后面使用EF 数据库中看到这个堆栈溢出问题EF Migrations: Rollback last applied migration?

,或者如果链路断开更新数据库-TargetMigration:“的名称你想要回滚到“

相关问题