SuperAPI AI 工具集

efcore-patterns

通用与其它

查看项目

更新于 10-16 03:37

技能介绍

用途:为 ABP Framework 的 code-first 开发提供 Entity Framework Core 模式参考,目标数据库为 PostgreSQL,覆盖实体建模到性能优化的常见写法。

主要能力:

  1. 实体基类:列出 Entity<TKey>、AuditedEntity、FullAuditedEntity、AggregateRoot、FullAuditedAggregateRoot 等基类及其包含字段(Id、审计时间与操作人、软删除、领域事件、并发令牌),并指出 FullAuditedAggregateRoot 最常用。
  2. 实体与配置:示例实体使用私有 setter、私有无参构造函数和 Check 校验;配置通过独立 IEntityTypeConfiguration 类使用 Fluent API,设置表名、主键、必填与最大长度、唯一索引及软删除查询过滤器。
  3. 关系映射:一对多(HasOne/WithMany/OnDelete Restrict)、多对多(推荐显式连接实体并配置复合主键)、一对一(WithOne/HasForeignKey),以及值对象 OwnsOne。
  4. 迁移命令:dotnet ef migrations add 与通过 DbMigrator 项目应用迁移。
  5. PostgreSQL 特性:text[]、jsonb、gen_random_uuid() 默认值;B-tree、GIN、BRIN 与部分索引;tsvector 计算列与全文检索查询(ToTsQuery + Matches)。
  6. 性能:EF Core 7+ 的 ExecuteUpdateAsync/ExecuteDeleteAsync 批量操作、AsSplitQuery 避免笛卡尔积、EF.CompileAsyncQuery 编译查询。
  7. 全局过滤器与并发:ABP 自动应用 ISoftDelete、IMultiTenant 过滤,可用 _dataFilter.Disable<ISoftDelete>() 临时关闭;AggregateRoot 提供并发处理,捕获 AbpDbConcurrencyException。
  8. 质量清单:基类选择、私有 setter、独立配置类、索引、显式删除行为、PostgreSQL 类型与 GIN 索引等。

使用方式:作为 AI 技能/参考资料加载,在编写 ABP + EF Core 代码时按上述模式套用;命令保持原样执行。

适用场景:ABP Framework 项目的领域实体设计、DbContext 配置、迁移与 PostgreSQL 性能调优。

限制:资料未提供版本兼容范围、授权与收费信息、安装步骤及与其他数据库的适配说明。