I need database connection string in two places in appsettings.json.
Is it possible to introduce common variable or json-path related references into json file to avoid
I've created a nuget package exactly for this! Check it out here: https://www.nuget.org/packages/TemplateFormattedConfiguration/
In your example you should do this:
{
...
"ConnectionStrings": {
"Default": "Host=localhost;Database=db;Port=5432;Username=postgres;Password=postgres"
},
"Nlog": {
"targets": {
"database": {
"type": "Database",
"dbProvider": "Npgsql.NpgsqlConnection, Npgsql",
"connectionString": "{ConnectionStrings:Default}",
...
}
}
...
}
And in your Startup.cs (or Program.cs) you'll add this:
configuration.EnableTemplatedConfiguration();