asp.net核心中的连接字符串和应用程序设置

asp.net核心中的连接字符串和应用程序设置,asp.net,database,asp.net-core,exception,connection-string,Asp.net,Database,Asp.net Core,Exception,Connection String,以前没有在.net core中工作过,我在连接字符串方面遇到了一些问题。 我正试图像这样在我的控制器中获取连接字符串 SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["DefaultConnection"].ToString()); 但我在控制器中获得了一个“对象引用未设置为对象的实例”。 这就是我的appsettings.json的样子 "ConnectionStrings": { "

以前没有在.net core中工作过,我在连接字符串方面遇到了一些问题。 我正试图像这样在我的控制器中获取连接字符串

 SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["DefaultConnection"].ToString());

但我在控制器中获得了一个“对象引用未设置为对象的实例”。 这就是我的appsettings.json的样子

"ConnectionStrings": {
    "DefaultConnection": "Server=(server)\\\\mssqllocaldb;Database=dbName;User ID=user;Password=123123"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"

您不能直接在控制器中获取连接字符串,但是您可以注入配置,然后可以在控制器中像这样访问连接字符串

public class HomeController : Controller
{
    public HomeController (IConfiguration configuration)
    {
        var connectionString = configuration.GetConnectionString("DefaultConnection")
    }
}


您不能直接在控制器中获取连接字符串,但是您可以注入配置,然后可以在控制器中像这样访问连接字符串

public class HomeController : Controller
{
    public HomeController (IConfiguration configuration)
    {
        var connectionString = configuration.GetConnectionString("DefaultConnection")
    }
}


ConfigurationManager的使用假设项目中存在App.config,而不是appsettings.json。 例如:


ConfigurationManager的使用假设项目中存在App.config,而不是appsettings.json。 例如:

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString());