gpt4 book ai didi

c# - Net Core Connection String Dapper visual studio 2017

转载 作者:太空狗 更新时间:2023-10-29 20:22:56 24 4
gpt4 key购买 nike

我正在尝试在我的 .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;"
}

我也尝试过使用 web.config,就像我在使用 .Net Core 之前一样:

<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;
}

两种方式都给我异常(exception):

System.NullReferenceException:“对象引用未设置为对象的实例。”

我使用了以下资源:

.Net CORE Dapper Connection String?

https://learn.microsoft.com/en-us/aspnet/core/data/ef-mvc/intro

Get connection string from App.config

但是我错过了一些东西。我只设置了一次连接字符串,它不在 .Net Core 中,所以对其他人来说很明显。

最佳答案

如果您使用的是 appsettings.json,请创建一个简单的 POCO 类来为您的连接字符串配置建模,如下所示:

public class ConnectionConfig
{
public string Analysis {get;set;}
}

在Startup.cs的ConfigureServices方法中添加这一行

services.Configure<ConnectionConfig>(Configuration.GetSection("ConnectionStrings"));

数据服务类

class YourClass{
private string _connectionString;

YourClass(string connectionString){
_connectionString = connectionString;
}

//Your implementation
public List<DapperTest> ReadAll()
{
var data = new List<DapperTest>();
using (IDbConnection db = new SqlConnection(_connectionString)
{
data = db.Query<DapperTest>("select * from testTable").ToList();
}

return data;
}
}

注入(inject) IOptions<ConnectionConfig>在你的 Controller 构造函数中。

class YourController : Controller{
YourClass _testing;

YourController(IOptions<ConnectionConfig> connectionConfig){
var connection = connectionConfig.Value;
string connectionString = connection.Analysis;
_testing = new YourClass(connectionString );
}
public IActionResult Index() {
var testingData = _testing.ReadAll();
return View();
}
}

关于c# - Net Core Connection String Dapper visual studio 2017,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46187522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com