dedsi-framework
SKILL.md
Dedsi Framework
Dedsi Framework 是基于 ABP 框架的扩展,提供 CQRS、Repository、审计、异常处理、ORM(EF Core/SqlSugar)、CAP、FastEndpoints 等增强功能。
何时使用
- 在 ABP 项目中接入 Dedsi Framework 模块
- 配置和使用 Dedsi CQRS 组件(命令、事件、命令处理器)
- 实现 Repository(CQRS 仓储和通用仓储)
- 配置审计功能(CreatorName 自动填充)
- 使用 DedsiControllerBase 导出 Excel/PDF
- 配置 SqlSugar ORM
- 配置异常处理中间件
- 遵循 Dedsi Framework 约定进行开发
能力规则
没有这些规则,AI 无法解决问题或生成的代码无法正确运行。
模块配置
| 规则 | 影响 | 描述 |
|---|---|---|
| module-dependencies.md | HIGH | 在 ABP 项目中正确接入 Dedsi Framework 模块 |
CQRS
| 规则 | 影响 | 描述 |
|---|---|---|
| cqrs-pattern.md | HIGH | 使用 Dedsi Framework 的 CQRS 组件实现命令处理和事件发布 |
Repository
| 规则 | 影响 | 描述 |
|---|---|---|
| repository-pattern.md | HIGH | 使用 Dedsi Framework 的 Repository 接口实现数据访问 |
审计
| 规则 | 影响 | 描述 |
|---|---|---|
| auditing-configuration.md | MEDIUM | 使用 Dedsi Framework 的审计接口和属性设置器实现自动审计 |
效率规则
这些规则帮助 AI 更有效、更一致地解决问题。
Web API
| 规则 | 影响 | 描述 |
|---|---|---|
| exception-handling.md | MEDIUM | 在项目中正确配置 Dedsi Global Exception Handler 以统一错误响应格式 |
| file-export.md | LOW | 使用 DedsiControllerBase 快速实现 Excel/PDF 导出功能 |
数据库
| 规则 | 影响 | 描述 |
|---|---|---|
| sqlsugar-configuration.md | MEDIUM | 在项目中正确配置和使用 SqlSugar ORM |
DTO
| 规则 | 影响 | 描述 |
|---|---|---|
| paged-request-dto.md | MEDIUM | 使用 DedsiPagedRequestDto 实现统一的分页请求 |
模块速查
Dedsi.AspNetCore
DedsiControllerBase:控制器基类,提供FileByExcel、FileByPdf方法DedsiGlobalExceptionHandler:全局异常处理中间件DedsiErrorData、DedsiErrorMessage:错误响应结构
Dedsi.Ddd.Domain
IDedsiCreationAuditedObject:创建审计接口IDedsiCqrsRepository<TDomain, TKey>:CQRS 仓储接口IDedsiRepository<TEntity, TKey>:通用仓储接口IDedsiQuery:查询标记接口
Dedsi.Ddd.CQRS
DedsiMediator:中介者(自动记录命令)DedsiCommand、DedsiCommand<TResponse>:命令基类DedsiCommandHandler<TCommand>:命令处理器基类DedsiLocalEventBus:本地事件总线(自动记录事件)DedsiEvent:事件基类ICommandEventRecorderRepository:命令/事件记录仓储
Dedsi.EntityFrameworkCore
DedsiDddEfCoreRepository<TDbContext, TDomain, TKey>:CQRS 仓储实现DedsiEfCoreRepository<TDbContext, TEntity, TKey>:通用仓储实现DedsiAuditPropertySetter:审计属性设置器
Dedsi.SqlSugar
DedsiSqlSugarExtensions:SqlSugar 配置扩展IDedsiSqlSugarQuery:SqlSugar 查询接口
Dedsi.Ddd.Application.Contracts
DedsiPagedRequestDto:分页请求基类DedsiPagedResultDto<TRowDto>:分页结果基类
Dedsi.Core
- 扩展工具类:
EnumExtensions、DateTimeExtensions、StringExtensions等
技术栈
- 框架:ABP Framework
- 语言:C# / .NET
- ORM:Entity Framework Core、SqlSugar
- CQRS:MediatR
- 分布式事务:DotNetCore.CAP
- 轻量级 API:FastEndpoints
源代码信息
- 源代码目录:
/Users/cohen/GitHub/DedsiFramework/src - 文件数量:64 个 .cs 文件(忽略 bin/obj 目录)
- 模块数量:12 个模块
排错指南
"不知道该引用哪个库"
- 查看模块速查,定位类型所在模块
- 检查项目是否引用了对应 NuGet 包/项目引用
- 检查 ABP
DependsOn是否添加
"异常没有变成 DedsiErrorData"
- 确认期望的错误响应格式(ABP 默认 vs DedsiErrorData)
- 若使用 DedsiErrorData,检查
DedsiGlobalExceptionHandler是否注册 - 检查业务层是否抛出
BusinessException/UserFriendlyException
"CreatorName 没有自动填充"
- 确认使用 EF Core 集成
- 检查实体是否实现了
IDedsiHasCreationName、IDedsiHasCreationId或IDedsiHasCreationTime - 检查
CurrentUser.Name和CurrentUser.Id是否有值
"CQRS 记录没有落库/没有输出"
- 确认发命令是否通过
DedsiMediator,发事件是否通过DedsiLocalEventBus - 确认
ICommandEventRecorderRepository是否有实现并注册 - 开发期可使用
LocalCommandEventRecorderRepository验证
"分页查询结果不正确"
- 检查
PageIndex和PageSize的值(PageSize 限制在 1-1000) - 检查
GetPagedListAsync的isReverse参数 - 检查排序字段是否正确
"SqlSugar 日志不输出"
- 检查当前环境是否为
Development(只有在Development环境下才会输出 SQL 日志) - 检查
connectionConfig配置是否正确
参考资源
- DedsiFramework 源代码 - 完整源代码
- ABP Framework - ABP 官方文档
- dedsiddd-dotnet-coding - DedsiDDD 代码生成规范
Weekly Installs
10
Repository
dedsiteam/dedsi-skillsFirst Seen
Jan 23, 2026
Security Audits
Installed on
gemini-cli8
opencode8
claude-code7
codex7
antigravity6
cursor6