Строка подключения для PostgreSQL - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь записать свою строку подключения в файл appsettings.json и перенести ее в свой файл запуска через класс расширения, но я продолжаю получать

Значение не может быть нулевым. Имя параметра: connectionString.

Я использовал разные примеры, но не вижу этой новой установки с классом запуска ASP.NET Core 2.2. И я использую PostgreSql

файл appsetting.json

 {
  "PostgreConnectionString": {
    "DefaultConnection": "User ID=1;Password=1234;Host=localhost;Port=5432;Database=Demo;Pooling=true;Integrated Security=true;",

"Logging": {
  "LogLevel": {
    "Default": "Warning"
  }
},
"AllowedHosts": "*"
}
}

ServiceExtension.cs

public static void ConfigurePostgreSQL(this IServiceCollection services, IConfiguration config)
        {
            var connectionString = config["PostgreConnectionString:DefaultConnection"];
            services.AddDbContext<RepositoryContext>(options => options.UseNpgsql(config.GetConnectionString(connectionString))); --Error in this line value cannot be null
        }

Startup.cs

services.ConfigurePostgreSQL(Configuration);

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

проблема в скобках! Appsettings.json создает объект ConnectionStrings, встроенный в объект «Ведение журнала». Выложите ConnectionStrings и ваш Configuration.GetConnectionStrings будет работать!

0 голосов
/ 25 января 2019

Для .NET Core я использую:

_connectionString = config.GetConnectionString("PostgreConnectionString");

config

{     
  "ConnectionStrings": {
    "PostgreConnectionString": "string"
  }
}

работает

...