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

.NET 8中dotnet ef add migrations同时指定项目与上下文名的问题

问题原因及解决方法

第一个错误原因

执行dotnet ef dbcontext -v info时提示找不到DbContext,是因为EF工具默认扫描当前执行命令目录下的程序集,而你当前目录的项目(程序集ef)里没有定义DbContext,或者工具未扫描到正确的项目。

第二个命令失效的核心原因

你写的命令参数顺序错误,dotnet ef的命令结构要求选项参数(如--startup-project、--context)必须放在子命令之后。你把选项放在了migrations add前面,导致工具识别为无效命令,直接返回用法信息。

正确的命令写法

生成迁移的正确命令

如果你的启动项目是../EF,DbContext类是BillerEntities,且当前目录是DbContext所在的项目,执行:

dotnet ef migrations add init --startup-project ../EF --context BillerEntities

如果当前目录不是DbContext所在的项目,需要额外指定DbContext所在项目:

dotnet ef migrations add init --project ./你的数据层项目名 --startup-project ../EF --context BillerEntities

查看DbContext信息的正确命令

如果要查看指定上下文的信息,修正参数顺序后执行:

dotnet ef dbcontext info --startup-project ../EF --context BillerEntities -v

额外注意事项

  • 确保启动项目(../EF)已引用包含BillerEntities的项目
  • 确认BillerEntities类继承自DbContext,且不是抽象类、非泛型类
  • 若项目中有多个DbContext,必须通过--context明确指定要使用的类

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 04:24:57