Nano Hash - криптовалюты, майнинг, программирование

Строка подключения для PostgreSQL

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

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

Я использовал различные примеры, но не вижу этой новой настройки с классом запуска 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);

  • Можете ли вы получить строку подключения при отладке функции ConfigurePostgreSQL? Это не было нулевым в моем тестировании. 28.01.2019

Ответы:


1

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

_connectionString = config.GetConnectionString("PostgreConnectionString");

конфигурация

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

оно работает

25.01.2019

2

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

02.05.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..