繁体   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