ASP.NET Core 6 Web API获取DefaultConnection连接字符串返回Null问题
问题原因及解决方案
问题原因
builder.Configuration.GetConnectionString("DefaultConnection") 方法的读取逻辑是优先查找顶级ConnectionStrings节点下的对应配置项,或直接查找键名为DefaultConnection的配置值。但你的配置文件中,连接字符串嵌套在Data -> DefaultConnection -> ConnectionString的层级下,和方法预期的结构不匹配,因此返回null。
解决方案
方案1:调整配置文件结构(推荐)
将连接字符串放到顶级的ConnectionStrings节点下,符合ASP.NET Core默认配置规范:
{ "ConnectionStrings": { "DefaultConnection": "Server=MAROIS_KEVIN_2\\SQLEXPRESS;Database=Falcon;Trusted_Connection=True;MultipleActiveResultSets=true" }, "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Debug", "System": "Information", "Microsoft": "Information" } } }
调整后原有的GetConnectionString代码即可正常读取到值。
方案2:按配置路径读取(不修改结构)
如果不想调整配置文件结构,可通过配置路径直接定位读取:
var connString = builder.Configuration["Data:DefaultConnection:ConnectionString"];
使用冒号:作为层级分隔符,即可准确获取嵌套层级中的连接字符串。
内容的提问来源于stack exchange,提问作者CoderForHire
相关产品推荐
相关产品推荐

