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

如何解决ASP.NET Core迁移时多DbContext需指定上下文的错误?

解决ASP.NET EF Core迁移中“检测到多个DbContext”的问题
  • 先确认项目里所有DbContext的类名,比如模板自带的ApplicationDbContext或是你自定义的上下文类,明确要迁移的目标上下文。
  • 在程序包管理器控制台(PM>)里用正确的命令格式,必须指定上下文:
    PM> add-migration "initialsetup" -Context YourDbContextClassName
    
    注意:如果DbContext在特定命名空间下,要填写完整的「命名空间+类名」,比如Data.MyAppDbContext。
  • 检查程序包管理器控制台顶部的默认项目下拉框,确保选中的是包含你的DbContext的项目(比如Web项目或数据类库项目),选错项目会导致上下文识别异常。
  • 如果上述方法没用,试试dotnet CLI命令:
    1. 打开命令行工具,切换到项目根目录(包含.csproj文件的目录)
    2. 执行迁移命令:
      dotnet ef migrations add initialsetup --context YourDbContextClassName
      
    3. 要是提示未安装EF Core工具,先执行:
      dotnet tool install --global dotnet-ef
      
  • 最后确认你的DbContext类已正确配置连接字符串,且在Program.cs(或Startup.cs)中注册到了DI容器:
    builder.Services.AddDbContext<YourDbContextClassName>(options =>
        options.UseSqlServer(builder.Configuration.GetConnectionString("YourConnectionString")));
    

内容的提问来源于stack exchange,提问作者new csharp'er

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 15:41:03