Ошибка Dapper: «System.InvalidOperationException:« Свойство ConnectionString не было инициализировано. »» - PullRequest
0 голосов
/ 02 мая 2020

Я изучаю курс по использованию Dapper, но я столкнулся с ошибкой, для которой не могу найти решение.

Ошибка: "System.InvalidOperationException: 'The ConnectionString property has not been initialized.'"

Я провел некоторую отладку и заметил, что когда моя функция инициализации читает из файла appsettings. json, кажется, что внутри "ничего не доступно" возвращаемая переменная config.

Похоже, это также относится к случаю, когда после вызова функции CreateRepository в хранилище отправляется пустая строка.

Буду признателен, если кто-то сможет видите, что кажется неправильным?

Инициализация - объект из 0 параметров возвращается в конфигурацию

private static void Initialize()
{
    var builder = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
    config = builder.Build(); 
}

Хранилище контактов - при установке точки останова в ContactRepository - передан нулевой параметр

 private static ContactRepository CreateRepository()
        {
            return new ContactRepository(config.GetConnectionString("DefaultConnection"));
        }

Настройки приложения

{
  "ConnectionStrings": {
    "DefaultConnection": "server=.\\SQLEXPRESS2014;database=ContactsDB;Trusted_Connection=Yes;"
  }
}

1 Ответ

0 голосов
/ 02 мая 2020

Похоже, проблема заключалась в том, что файл "AppSettings. json" не был добавлен в место, где builder.SetBasePath, следовательно, почему он возвращал ноль. Ручное копирование и вставка файла устранили проблему

...