首页 > 解决方案 > Dapper 错误:“System.InvalidOperationException:'ConnectionString 属性尚未初始化。'”

问题描述

我正在学习如何使用 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(); 
}

Contact Repository - 在 ContactRepository 中设置断点时 - 传递的参数为 null

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

应用设置

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

标签: dapper

解决方案


问题似乎是“AppSettings.json”文件没有被添加到 builder.SetBasePath 的位置,因此它返回 null。文件的手动复制和粘贴解决了这个问题


推荐阅读