mcpField
T
tooling

tooling

github.com/dotnet开发14.8k53 次安装今天更新
代码仓库

关于 tooling

Entity Framework Core 开发技能,涵盖迁移、脚手架和编译模型生成所用的命令行、PowerShell 与 MSBuild 入口,并说明命令参数流转、测试和验证方式。

主要功能

  1. 01使用 dotnet ef 管理迁移与脚手架
  2. 02通过 PMC 执行数据库命令
  3. 03使用 MSBuild 生成编译模型
  4. 04追踪命令选项的处理位置
  5. 05提供测试与验证指引

适用场景

  1. 01修改 dotnet ef 命令行为
  2. 02调整 PMC 命令或模块
  3. 03验证编译模型生成任务
  4. 04检查迁移脚本输出

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dotnet/efcore --skill tooling

安装后在 Claude Code 中输入/tooling确认已加载。

详细介绍

工具链

用于迁移、架构生成和已编译模型的 dotnet ef CLI 与 Visual Studio Package Manager Console 命令。

dotnet-ef CLI(src/dotnet-ef/)

RootCommand 解析全局选项。子命令实现在 src/ef/Commands/ 中。每个子命令都会调用 MSBuild 进行构建,然后通过 dotnet exec ef.dll 启动进程;该程序集承载 OperationExecutor。

PMC(src/EFCore.Tools/)

PowerShell 模块:Add-Migration、Update-Database、Scaffold-DbContext、Optimize-DbContext 等。

MSBuild 任务(src/EFCore.Tasks/)

NuGet 包 Microsoft.EntityFrameworkCore.Tasks 提供构建/发布时的已编译模型和预编译查询生成。目标位于 buildTransitive/Microsoft.EntityFrameworkCore.Tasks.targets。

命令选项归属

更改命令或操作契约前,先追踪选项,找到实际使用它的代码。外层 dotnet-ef 启动器会构建项目,并将剩余命令行参数转发给 ef.dll;src/ef/Commands/ 中的内层命令会解析特定于命令的选项。

  • 仅在内层命令中保留纯展示行为。例如,要禁止显示 MigrationsAddCommand.Execute() 的完成消息,应对其 Reporter.WriteInformation() 调用添加保护,而不能更改 IOperationExecutor.AddMigration()。
  • 只有当 Microsoft.EntityFrameworkCore.Design 中的设计时操作需要某个值时,才通过 OperationExecutorBase 转发该值。
  • 将 PMC 和 EFCore.Tasks 视为独立入口。只有当请求的行为也适用于这些入口时,才更改它们。

测试

  • CLI 测试:test/dotnet-ef.Tests/、test/ef.Tests/
  • EFCore.Tasks 没有专用测试项目——对于任务/目标更改,请创建测试项目,并手动运行 dotnet build / dotnet publish,同时设置 EFOptimizeContext=true 进行验证

验证

  • 对于工具更改,请创建测试项目并手动运行受影响的命令,以验证行为
  • dotnet ef migrations script 的输出应与预期 DDL 相符

评论

支持 Markdown