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

Get-DbContext返回不可用上下文,EF迁移多DbContext报错求助

解决EF Core迁移识别多个DbContext的问题

1. 统一EF Core工具与运行时版本

你的EF Core工具版本(5.0.11)低于运行时版本(5.0.12),版本不匹配会引发上下文识别异常。执行以下命令更新工具包:

Update-Package Microsoft.EntityFrameworkCore.Tools -Version 5.0.12

2. 使用完整命名空间指定上下文

Get-DbContext输出的上下文完整路径为rollbase.Areas.Identity.Data.ApplicationDbContext,仅用短名称可能导致工具无法精准匹配。执行迁移命令时传入完整命名空间:

Add-Migration InitialCreate -Context rollbase.Areas.Identity.Data.ApplicationDbContext

3. 清理项目缓存并重新构建

项目缓存可能干扰工具的上下文扫描,按以下步骤操作:

  • 删除项目根目录下的bin和obj文件夹
  • 在Package Manager Console中执行Build命令
  • 重新尝试迁移命令

4. 指定目标项目(多项目解决方案场景)

若解决方案包含多个项目,需明确指定迁移所属的项目:

Add-Migration InitialCreate -Context rollbase.Areas.Identity.Data.ApplicationDbContext -Project rollbase

5. 排查其他DbContext实现

检查项目中是否存在其他继承自DbContext或IdentityDbContext的类:

  • 全局搜索项目内所有继承DbContext的类型
  • 确认Startup.cs中仅注册了ApplicationDbContext,无其他上下文的DI注册

6. 重置本地数据库(可选)

若以上步骤均无效,可重置localdb数据库消除旧数据干扰:

  1. 在SQL Server Object Explorer中删除对应的localdb数据库
  2. 执行Update-Database -Context rollbase.Areas.Identity.Data.ApplicationDbContext创建新数据库并应用迁移

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 02:15:26