mcpField
S
scaffolding

scaffolding

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

关于 scaffolding

用于处理 EF Core Scaffolding 的技能,可将数据库架构反向工程为 C# 代码。它说明 Scaffolding 管线,并指导在适配能力受限的数据库引擎时保留架构查询行为。

主要功能

  1. 01说明反向工程管线
  2. 02介绍 Scaffolder 的编排作用
  3. 03保留反半连接语义
  4. 04覆盖架构元数据边界情况

适用场景

  1. 01追踪架构到代码的生成阶段
  2. 02将架构查询适配到受限引擎
  3. 03检查排除属性的筛选逻辑
  4. 04测试架构查询中的元数据情况

安装

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

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

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

详细介绍

脚手架

根据数据库架构生成 C# 代码(反向工程)。

不适用场景

  • 处理已编译模型的生成(dotnet ef dbcontext optimize)

反向工程

流程:IDatabaseModelFactory(读取架构)→ IScaffoldingModelFactory(构建 EF 模型)→ IModelCodeGenerator(生成 C#)

  • IReverseEngineerScaffolder — 统筹完整流程

架构查询兼容性

提供程序的架构读取器通常会查询一对多元数据表。为受限引擎调整 SQL 时,应保留反半连接语义:在 ON 中包含完整排除属性谓词的 LEFT JOIN,后接对非空连接键的空值筛选,等价于 NOT EXISTS。无关元数据行不会匹配;任何匹配的排除行都会使连接键非空,从而排除该对象。不要将排除属性谓词的部分条件移到 WHERE,也不要连接所有元数据行后再逐行筛选。等价的非相关反集合形式(例如 NOT IN (SELECT key ... WHERE excluded-condition))也可行,前提是子查询不会返回空键。应覆盖没有元数据、仅有无关元数据、仅有排除属性,以及同时存在排除属性和无关属性的对象。

评论

支持 Markdown