我正在跟随一个关于如何使用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中设置断点时--传递的参数为null
private static ContactRepository CreateRepository()
{
return new ContactRepository(config.GetConnectionString("DefaultConnection"));
}
应用设置
{
"ConnectionStrings": {
"DefaultConnection": "server=.\\SQLEXPRESS2014;database=ContactsDB;Trusted_Connection=Yes;"
}
}
问题似乎是 "AppSettings.json "文件没有被添加到 builder.SetBasePath所在的位置,因此它返回null。手动复制并粘贴该文件后,问题得到了解决。