Open mike-01 opened 4 years ago
public class DataConfiguration
{
public string DefaultDatabase { get; set; }
public string ConnectionString { get; set; }
public string ProviderName { get; set; }
}
public class Startup
{
public DataConfiguration DataConfig;
public Startup(IConfiguration configuration)
{
DataConfig = configuration.Get
Configuration = configuration;
}
public Database GetDatabase(string name)
{
if(DataConfig.ProviderName == "System.Data.SqlClient")
{
return new SqlDatabase(DataConfig.ConnectionString);
}
return null;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
var config = new DataConfiguration();
//Configuration.Bind("DataConfiguration", config);
Configuration.GetSection(nameof(DataConfiguration)).Bind(DataConfig);
services.AddSingleton(config);
services.AddTransient<IProposalRepository, ProposalRepository>();
services.AddScoped(serviceProvider =>
{
var options = serviceProvider.GetRequiredService<IOptions<DataConfiguration>>();
return new SqlDatabase(options.Value.ConnectionString);
});
}
Use this sample. It will work.
Hello.
Is there or will there be support for the .NetCore Web API and appsettings.json?
I tried it and it didn't work.
Thanks in advance and thanks for doing this.
Mike