Asp.net core options.UseSqlServer在startup.cs中返回错误

Asp.net core options.UseSqlServer在startup.cs中返回错误,asp.net-core,asp.net-core-mvc,entity-framework-core,Asp.net Core,Asp.net Core Mvc,Entity Framework Core,我正在使用asp.net核心开发一个测试项目。 为了连接到数据库,我使用实体框架。 我将appsetings.json文件添加到项目中,并更改连接字符串,如下所示: { "ConnectionStrings": { "DefaultConnection": "Server=.\\mihanrayan;Initial Catalog=SportsStore;User = sa; Password = 123456" } } sql版本为:mssql 2008 r2 在startu

我正在使用asp.net核心开发一个测试项目。 为了连接到数据库,我使用实体框架。 我将appsetings.json文件添加到项目中,并更改连接字符串,如下所示:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=.\\mihanrayan;Initial Catalog=SportsStore;User = sa; Password = 123456"
  }
}
sql版本为:mssql 2008 r2

在startup.cs class I中添加以下代码:

public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();

            services.AddDbContext<ApplicationDbContext>(options =>
               options.UseSqlServer(
               Configuration["Data:SportStoreProducts:ConnectionString"]));
            services.AddTransient<IProductRepository, EFProductRepository>();

        }
返回此错误:

中发生“System.ArgumentNullException”类型的异常 Microsoft.EntityFrameworkCore.SqlServer.dll,但未在中处理 用户代码

其他信息:值不能为null。

配置[“数据:SportStoreProducts:连接字符串])返回null


“数据:SportStoreProducts:连接字符串”

应该是


“ConnectionString:Defaultconnection”

它应该如下所示:

 services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddDbContext(选项=>
options.UseSqlServer(Configuration.GetConnectionString(“DefaultConnection”));

为什么您认为
Data:SportStoreProducts:ConnectionString
会解析到JSON中的那个位置?
 services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));