我正在尝试在我的 .Net Core 应用程序中设置连接字符串,但是一直出现以下错误:
System.NullReferenceException:“对象引用未设置实例对象。”
我已经尝试将以下内容添加到appsettings.json文件中:
"ConnectionStrings": {
"Analysis": "Server=DESKTOP-MYSERVER;Database=MYDATABASE;User Id=sa; Password=Password123;Provider=System.Data.SqlClient;Trusted_Connection=True;MultipleActiveResultSets=true;Pooling=false;"
}
我之前也尝试使用像.Net Core之前一样的web.config:
<connectionStrings>
<add name="Analysis" providerName="System.Data.SqlClient"
connectionString="Server=DESKTOP-MYSERVER;Database=MYDATABASE;User Id=sm;Password=Password123;"/>
然后在C#中我有:
public List<DapperTest> ReadAll()
{
var data = new List<DapperTest>();
using (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["Analysis"].ConnectionString))
{
data = db.Query<DapperTest>("select * from testTable").ToList();
}
return data;
}
两种方式都给我以下异常:
System.NullReferenceException:“对象引用未设置为对象实例。”
我已经使用了以下资源:
https://learn.microsoft.com/en-us/aspnet/core/data/ef-mvc/intro
但是我漏掉了什么。我只设置过一次连接字符串,而且不是在.Net Core中,所以对其他人来说可能很明显。
appsettings.json
文件吗?推荐的方式是将appsettings加载到你的IConfigurationRoot
对象中,并将其注入到你的类中,然后从那里获取连接字符串。 - Jonesopolisusing (IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["Analysis"].ConnectionString))
。 - JoeGIConfigurationRoot
加载它。 - JoeG