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

如何在非启动项目中执行EF Core的Scaffold-DbContext命令

解决EF Core Scaffold-DbContext指定项目执行的问题

方法一:Package Manager Console 命令

直接在Package Manager Console中通过参数指定目标项目和临时启动项目,无需修改解决方案的启动项设置:

Scaffold-DbContext "你的数据库连接字符串" Microsoft.EntityFrameworkCore.SqlServer -Project DataProj -StartupProject DataProj -OutputDir Models -Force
  • -Project:指定生成DbContext和实体类的目标项目(即你的Data项目)
  • -StartupProject:指定EF工具使用的启动项目,这里直接指向Data项目,避开对API项目的依赖
  • -OutputDir:实体类生成的目录,可按需调整
  • -Force:覆盖已存在的实体类(可选参数)

前提:确保Data项目已安装Microsoft.EntityFrameworkCore.Design和对应数据库的Provider包(比如Microsoft.EntityFrameworkCore.SqlServer)。

方法二:.NET CLI 命令

使用.NET CLI执行时,通过以下参数指定项目:

dotnet ef dbcontext scaffold "你的数据库连接字符串" Microsoft.EntityFrameworkCore.SqlServer --project DataProj --startup-project DataProj --output-dir Models --force

参数作用和Package Manager Console版本一致,--project指定目标项目,--startup-project临时将Data项目设为工具的启动项目。

额外注意

  • 若Data项目是类库,需保证其TargetFramework版本与EF Core包版本兼容
  • 执行命令前先构建解决方案,避免编译错误导致命令失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:02:27