首页 > 解决方案 > DbContext 中的事件处理程序

问题描述

我想覆盖 DbContext 中的 SaveChangesAsync 方法。像这样的东西:

public override Task<int> SaveChangesAsync(CancellationToken cancellationToken = default)
{
    DatabaseChanged?.Invoke(this, EventArgs.Empty);
    return base.SaveChangesAsync();
}

问题是,如果我订阅此事件,DbContext 将擦除订阅,因为它是一个作用域服务,它会在任何需要的地方创建一个新实例。如何从另一个班级订阅此活动?

标签: c#.net-coredbcontext

解决方案


推荐阅读