Eut*_*rpy 6 c# dependency-injection dbcontext entity-framework-core asp.net-core
我有以下情况:
启动.cs
services.AddSingleton<IConfigurationManager, ConfigurationManager>();
ConfigurationManager configurationManager = new ConfigurationManager();
services.AddDbContext<MyContext>(options =>
options.UseSqlServer(configurationManager.DatabaseConnectionString));
Run Code Online (Sandbox Code Playgroud)
因此,为了创建我的上下文,我需要它configurationManager提供给我的连接字符串。但是,我仍然想保留ConfigurationManager即服务。
有没有一种方法可以在不显式实例化的情况下执行此操作,configurationManager或者是否可以像这样保留它?
你也可以做类似的事情。我不熟悉您如何使用配置管理器来提供准确的答案。
基本上,您可以在 Program.cs 中进行预配置。
在这里构建您的配置。正如你所看到的,我正在路过IConfigurationBuilder。
Program.cs
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration(AddDbConfiguration)
.UseStartup<Startup>();
private static void AddDbConfiguration(WebHostBuilderContext context, IConfigurationBuilder builder)
{
var configuration = builder.Build(); // you could instantiate you Configuration manager here and append to the configuration.
var connectionString = configuration.GetConnectionString("Database");
builder.AddDemoDbProvider(options => options.UseSqlServer(connectionString));
}
Run Code Online (Sandbox Code Playgroud)
来源:https ://medium.com/@dneimke/custom-configuration-in-net-core-2-193ff6f02046
| 归档时间: |
|
| 查看次数: |
20912 次 |
| 最近记录: |