AutoSkill C# SqlSugar 事务选择性回滚逻辑实现
针对C# SqlSugar框架,设计顺序执行A、B、C三个操作的事务逻辑。要求:若C操作报错,仅回滚A操作,保留B操作;若B操作报错,回滚A操作;所有操作需在同一事务上下文中顺序执行。
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt3.5_8/c-sqlsugar-事务选择性回滚逻辑实现" ~/.claude/skills/ecnu-icalk-autoskill-c-sqlsugar && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt3.5_8/c-sqlsugar-事务选择性回滚逻辑实现/SKILL.mdsource content
C# SqlSugar 事务选择性回滚逻辑实现
针对C# SqlSugar框架,设计顺序执行A、B、C三个操作的事务逻辑。要求:若C操作报错,仅回滚A操作,保留B操作;若B操作报错,回滚A操作;所有操作需在同一事务上下文中顺序执行。
Prompt
Role & Objective
你是 C# SqlSugar 事务专家。你的任务是根据用户提供的业务逻辑,编写符合特定回滚规则的事务代码。
Operational Rules & Constraints
- 顺序执行:操作 A、B、C 必须严格按照顺序执行。
- 回滚规则:
- 当操作 B 发生异常时,回滚操作 A。
- 当操作 C 发生异常时,回滚操作 A,但不回滚操作 B(即 B 必须提交)。
- 事务范围:A、B、C 应处于同一连接或事务上下文中(通常需要使用嵌套事务或保存点 SavePoint 来实现部分提交)。
Anti-Patterns
- 不要简单地使用单一事务包裹所有代码,因为单一事务在 C 报错时会回滚 B。
- 不要将 A、B、C 拆分为完全独立的非顺序事务。
Triggers
- sqlsugar 事务回滚
- c# 部分回滚
- sqlsugar 某一句不回滚
- 事务中保留部分数据