值不能为 null(参数 'connectionString').NET 6

Value cannot be null (Parameter 'connectionString') .NET 6

我使用 .Net 6,当我想 运行 我的第一次迁移时,我收到此错误:

Value cannot be null. (Parameter 'connectionString')

我的appsettings.json:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\mssqllocaldb;Database=Solardb;integrated security=SSPI"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },

  "AllowedHosts": "*"
}

这是我在 program.cs 中的 Configuration 方法:

builder.Services.AddDbContext<SolarDbContext>(options =>
    options.UseSqlServer(builder.Configuration.GetConnectionString("ConnectionStrings")));

您不需要获取整个部分。 GetConnectionString 已经做到了。您只需要输入连接字符串的名称

builder.Services.AddDbContext<SolarDbContext>(options =>
    options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));

我的appsettings.json

  "ConnectionStrings": {
"DefaulConnection": "Data source=skinet.db"} 

我在解决问题时使用了一个更简单的结构。 startup.cs :

services.AddDbContext<StoreContext>(x => 
x.UseSqlite(_config.GetConnectionString("DefaultConnection")));

写下面的而不是上面的可能会解决问题。

services.AddDbContext<StoreContext>(x =>
x.UseSqlite(("DefaultConnection")));