SuperAPI AI 工具集

audit-trail

部署与运维

查看项目

更新于 10-16 08:08

技能介绍

用途:在 .NET Clean Architecture 项目中为实体生成审计追踪基础设施,自动记录创建与修改元数据,并支持软删除。

主要能力:提供 IAuditable 接口(CreatedAtUtc、CreatedBy、UpdatedAtUtc、UpdatedBy)与 ISoftDeletable 接口(IsDeleted、DeletedAtUtc、DeletedBy);提供 AuditableEntity 基类,内含 SetCreatedAudit、SetModifiedAudit、SoftDelete、Restore 方法;提供 AuditSaveChangesInterceptor,在 SaveChanges/SavingChangesAsync 时按实体状态自动填充审计字段,并把硬删除转换为软删除;通过 IUserContext 获取当前用户,后台任务无用户上下文时返回 null;提供 AuditableEntityConfiguration<TEntity> 泛型配置,映射列名、默认值、全局查询过滤(!IsDeleted)与索引;可选 AuditLog 实体与 AuditLogInterceptor 保存完整变更历史(旧值、新值、受影响列、IP 等)。

使用方式:将接口与基类放入 Domain/Abstractions,拦截器与配置放入 Infrastructure;实体继承 AuditableEntity;在 DbContext 注册时通过 options.AddInterceptors(sp.GetRequiredService<AuditSaveChangesInterceptor>()) 挂载拦截器,并注册 services.AddScoped<AuditSaveChangesInterceptor>();实体配置继承 AuditableEntityConfiguration<TEntity> 并调用 base.Configure(builder)。

适用场景:需要统一审计字段、软删除与操作人追踪的 EF Core 项目,尤其配合 PostgreSQL(示例使用 UseNpgsql)。

限制:资料未提供安装命令、包名、版本要求、性能影响与收费信息;示例代码依赖项目自身的 Entity、Result、IUserContext 等类型,需按实际项目调整。