我有一个EF迁移,如果它不存在,就会创建一个链接服务器。这样做很好,但是在此之后是一些从该链接服务器合并数据的迁移。在我运行这些之前,我需要发出一个USE [MAIN DATABASE NAME]因为我切换到MASTER来创建链接服务器。我面临的挑战是每个环境的数据库名称都不同,因为它们中的许多都位于同一个SQL Server上。所以我需要找到一种方法来参数化USE语句,以便切换到适当的数据库。好处是数据库都具有相同的基本名称,然后是 - 和环境名称恰好匹配配置中连接字符串的名称。因此DEV数据库以-DEV结尾并使用名为DEV的连接字符串,QA以-QA结尾并使用QA连接字符串等...
有没有办法从连接字符串中读取数据库的名称或访问传递给update-database命令的参数?或者我错过了一个更好的方法来做到这一点?
修改 我考虑使用条件编译符号然后做这样的事情:
#if DEV
SQL("USE Database-DEV");
#endif
但是开发人员必须记住在运行update-database之前切换解决方案配置,迟早会有人忘记。