我们有几个旧的 SQL Server 数据库,我们偶尔会对它们进行架构更改。我们目前有一个用 C++ 编写的实用程序,允许用户使用这些模式更改来更新他们的数据库。该实用程序当前生成动态 sql 以创建所有 DB 对象。我正在考虑重做这一点,并认为 EF 迁移可能是一个好方法。我已经阅读了一些关于该主题的内容,并且对它的工作原理有一个大致的了解。但是我很难弄清楚如何设置它来替换我们当前的程序(或者是否有可能)。目前,客户端可以在多个先前版本中的任何一个上。我假设我必须回到最旧的版本并从中创建我的模型/初始迁移,然后为每个版本更改生成增量迁移,以支持所有版本的更新。这是一个正确的假设吗?此外,目前我们的客户可能正在使用 sql server 2000、2005 或 2008。这会对我的设置方式(或者我什至可以)产生任何影响吗?此外,目标是创建一个带有(C# - 可能是 WPF)UI 的实用程序,用户可以使用它来操作迁移(最好是向上或向下)。我已经看到了很多关于如何从包管理器中的命令行操作迁移的示例,但没有看到很多关于如何创建具有友好 UI 的实用程序以在生产中升级/降级 DB 的实用程序。此外,我还没有看到任何显示如何在迁移中创建存储过程的东西(我们的数据库依赖于一些存储过程)。我假设,如果没有别的,我可以使用 Sql() 方法生成 SQL 查询来创建 SP。那是对的吗?有没有更好的办法?
我知道我的问题有点不具体,对此我深表歉意。但我仍处于学习这一点的开始过程中,我想知道这是否是一个好方法。任何指导将不胜感激。
谢谢,丹尼斯