epv epv - 2 years ago 127
C# Question

Using connection string from appsettings.json to startup.cs

Currently in Startup, I have my sql server string looking like this:

public void ConfigureServices(IServiceCollection services)
var connection = @"Server=servername;Database=database;Trusted_Connection=True;MultipleActiveResultSets=true";
services.AddDbContext<CRAMSContext>(options => options.UseSqlServer(connection));

How do I use what's in my appsettings.json:

"Data": {
"DefaultConnection": {
"ConnectionString": "Data Source=server;Initial Catalog=database;Trusted_Connection=True;MultipleActiveResultSets=true"
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"

To look something like this in the new ASP.NET 1.0 CORE new setup to look paramertized like this:

public void ConfigureServices(IServiceCollection services)
var connection2 = new SqlConnection connectionString;
services.AddDbContext<CRAMSContext>(options => options.UseSqlServer(connection2));

Also, if I have a different database for the test and qa, how do I let the ASP.NET app know to use a connection for each environment?

My startup class is already defined at the root like this:

public Startup(IHostingEnvironment env)
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
Configuration = builder.Build();

Answer Source

Use proper structure for connection strings:

  "ConnectionStrings": {
    "DefaultConnection": "xxx"

Access in startup.cs:

services.AddDbContext<ApplicationDbContext>(options =>
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download