You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Audit.NET配置后EntityFramework Core审计功能无法正常生效问题求助

你需要同时修改Persistence类库内容,并且在类库中安装Audit.EntityFramework.Core NuGet包,具体操作步骤如下:

  • 第一步:在Persistence类库中安装与API项目版本一致的Audit.EntityFramework.Core v18.1.3 NuGet包,避免版本兼容问题。
  • 第二步:修改Persistence类库中的EntityContext上下文类,将其继承对象从原生DbContext替换为Audit.EntityFramework.AuditDbContext,示例修改如下:
// 修改前
public class EntityContext : DbContext
{
    public EntityContext(DbContextOptions<EntityContext> options) : base(options)
    {
    }
    // 其余代码
}

// 修改后
public class EntityContext : AuditDbContext
{
    public EntityContext(DbContextOptions<EntityContext> options) : base(options)
    {
    }
    // 其余代码保持不变
}
  • 第三步:确认你的API项目启动类(Startup.cs/Program.cs)中已经正确调用了你封装的ConfigureAudit扩展方法。

如果修改后仍未生成EF审计日志,可做如下检查:

  1. 你当前配置的是UseOptOut策略,默认所有实体都会触发审计,若你不需要审计某类实体,仅需给对应实体类添加[AuditIgnore]特性即可;如果需要仅审计指定实体,可将UseOptOut替换为UseOptIn,再给需要审计的实体添加[AuditInclude]特性。
  2. 可在你配置的DynamicProvider的OnInsert委托中添加断点,确认执行EF增删改操作时,是否有EventType前缀为EF:的审计事件触发。

如果你不想修改DbContext的继承关系,也可以手动重写SaveChanges/SaveChangesAsync方法,在方法中插入审计触发逻辑,不过修改继承的方式代码侵入性更低,更推荐使用。

内容的提问来源于stack exchange,提问作者Randy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 08:30:00