Нет. Это невозможно. Значения конфигурации - это просто строки. Они не анализируются для таких вещей, как переменные. Я полагаю, вы могли бы обойти это как-то так:
{
"DBName": "MyDbName",
"ConnectionStrings": {
"DefaultConnection": "server=localhost;port=3306;user=username;database={0}"
}
}
Тогда:
var connectionString = string.Format(Configuration.GetConnectionString("DefaultConnection"), Configuration["DbName"]);
По сути, вы оставляете заполнитель string.Format
в фактическом значении строки подключения, а затем заменяете его вручную через ваше DbName
значение конфигурации.
Однако это довольно хрупко. Честно говоря, вы не делаете это правильно в первую очередь. Конфигурация может быть переопределена средой. Итак, если вам нужно что-то вроде выключения имени БД, вы, вероятно, находитесь в другой среде и поэтому должны переопределять значение строки подключения через переменную среды или JSON, специфичный для этой среды.