是否可以有条件的EF迁移代码



我有两个环境 - 开发和生产。我的应用程序中的存储过程对于每个环境都略有不同,在内部它们使用不同的链接服务器和其他特定于服务器的子查询,但 procs 具有相同的输入参数和输出结果列。

将所有过程都放入迁移中,但是在部署方面,我发现我需要某种条件迁移代码来部署特定于生产的存储过程。

有没有办法根据配置设置或项目目标(如调试、发布等)运行不同的迁移代码?当您必须使用不同的特定于环境的迁移代码时,是否有人面临类似的事情?

请指教

您可以在迁移中使用 #if 指令,如下所示:

#if Release
    Sql("Update...");
#elif Debug
    Sql("Delete...");
#endif

构建解决方案时,只需传递要构建的配置(调试、测试、发布等)。

我参加这个聚会有点晚了,但在迁移到 EF 时遇到了这个问题。核心,只想在开发中更新一些东西。环境变量对此非常有效例如

if (Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") == "Development")
...

最新更新