【问题标题】:Is it possible to have conditional EF migration code?是否可以有条件的 EF 迁移代码?
【发布时间】:2016-06-10 12:55:37
【问题描述】:

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

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

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

请指教

【问题讨论】:

    标签: entity-framework ef-code-first entity-framework-6 entity-framework-migrations


    【解决方案1】:

    您可以像这样在迁移中使用 #if 指令:

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

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

    【讨论】:

      【解决方案2】:

      我参加这个聚会有点晚了,但我在迁移到 EF.Core 时遇到了这个问题,并且只想更新开发中的一些内容。 环境变量为此工作得很好 例如

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

      【讨论】:

        猜你喜欢
        • 2012-01-22
        • 2016-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-16
        • 2016-01-03
        • 2021-09-30
        • 2017-07-27
        相关资源
        最近更新 更多