簡體   English   中英

如何在 OnModelCreating() 中獲取環境變量?

[英]How to get environment variable in OnModelCreating()?

我在 DbContext 的 OnModelCreating() 中調用一個方法。 我不希望在每個環境中都調用它。

在 stackoverflow 上看到這個問題

試圖像這樣實現它。 DbContext 實現中的 OnModelCreating()。

  var env = this.GetService<IWebHostEnvironment>();
  if (env.EnvironmentName == "Development")
  {
      modelBuilder.SeedData();
  }

在 Program.cs 中

 services
            .AddDbContext<TDbContext>((serviceProvider, options) => options.UseSqlServer(configuration.GetConnectionString(connectionStringName))
            .UseInternalServiceProvider()
            .AddInterceptors(serviceProvider.GetRequiredService<SOMESERVICE>()));

UseInternalServiceProvider() 無法識別,我收到編譯時錯誤。 我正在使用 .net 6 也許,我鏈接的問題使用了舊版本。

更新:試過

Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")

但它返回 null

在.net core 6 我是這樣用的,app是app=builder.build(); 在 Program.cs 中

如果(app.Environment.IsDevelopment()){

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM