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

回答 2 浏览 4425 2021-12-29

我使用 .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")));
DeV1 提问于2021-12-29
您尝试获取的连接字符串称为“DefaultConnection”,而不是“ConnectionsStrings”。David 2021-12-29
您似乎使用 C#。该语言与 C 语言非常不同。Gerhardh 2021-12-29
2 个回答
#1楼 已采纳
得票数 6

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

builder.Services.AddDbContext<SolarDbContext>(options =>
    options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
Serge 提问于2021-12-29
#2楼
得票数 0

我的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")));
KaganTrky 提问于2022-05-26