You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core中EF Core迁移执行失败问题求助

修复EF Core迁移中的配置加载与DbContext实例化错误

问题根源

  1. appsettings.json语法错误:根节点多了一层嵌套大括号,导致配置文件无法被正确解析,这是「无法从文件加载配置」错误的直接原因。
  2. 配置加载失败引发依赖注入异常:由于配置文件解析失败,EF Core无法获取DbContext所需的DbContextOptions<ApplicationContext>配置,进而触发「无法解析服务」的实例化异常。

修复步骤

1. 修正appsettings.json的JSON语法

将现有错误的JSON结构(多余外层大括号)替换为正确格式:

{
  "ConnectionStrings": {
    "ProductionDB": "Data Source=DESKTOP-R6LR1KA\\SQLEXPRESS;Initial Catalog=MultiTable;Integrated Security=True;Trust Server Certificate=True"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*"
}

2. 确保迁移命令指定正确的项目(若为分层架构)

在Package Manager Console中执行迁移命令时,明确指定DbContext所在项目和启动项目:

Update-Database -Project ProjectOne.Data -StartupProject ProjectOne

若使用.NET CLI,执行:

dotnet ef database update --project ProjectOne.Data --startup-project ProjectOne

3. 验证DbContext服务注册

你的Program.cs中AddDbContext的配置是正确的,修复配置文件后,builder.Configuration.GetConnectionString("ProductionDB")将能正常读取连接字符串,确保DbContext的依赖注入可以正常工作。

完成以上步骤后,重新执行Update-Database命令即可完成迁移。

内容的提问来源于stack exchange,提问作者Shubham Guha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 23:22:01