我有一个特定场景,我无法在任何地方找到答案。实体框架代码在数据库迁移后第一次回滚
我想使用首先由VistaDB支持的实体框架代码。
存储的数据是用户特定的设置等,所以会有很多数据库副本,但它们永远不会在用户之间共享。但它们存储在本地存储中,与应用程序版本无关。
我可以设置好初始模型,并且向前迁移是正常的(虽然我还不完全了解如何在运行时在每个用户桌面上执行此操作)。
很多时候我们会把应用程序发布给一些用户,但如果出现问题,则会回滚到以前的版本。
如果用户使用更新后的模型运行应用程序的2.0版本,并且他们自动将其设置数据库自动迁移到目前为止这么好。
但现在我们将它们转回到版本1.0。我的理解是,随着模型向前滚动,1.0代码不能再访问数据库。那么解决方案是什么?
每次我们更新模型时,我都可以创建一个新的设置数据库,但是数据如何从旧的数据迁移过来?此外,这意味着在新版本中进行的设置更改将在回滚时丢失,反之亦然。
我真正想要的是模型更改被以前的版本忽略(假设模式兼容性)就像在XML中一样。即如果添加新列(或XML元素),旧代码会忽略它,因为它看不到它。但它仍然有效。也许我只需要原始数据库访问,而不是EF用于这种用例?