ISaveChangesInterceptor 接口

定义

允许截获 DbContext.SaveChangesDbContext.SaveChangesAync 方法。

public interface ISaveChangesInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.IInterceptor
type ISaveChangesInterceptor = interface
    interface IInterceptor
Public Interface ISaveChangesInterceptor
Implements IInterceptor
派生
实现

注解

SaveChanges 侦听器可用于查看、更改或禁止执行 SaveChanges 调用,并在结果返回到 EF 之前对其进行修改。

如果未实现所有方法,请考虑继承自 SaveChangesInterceptor

使用 AddInterceptors(IInterceptor[]) 注册应用程序侦听器。

扩展还可以在内部服务提供程序中注册侦听器。 如果同时找到了注入侦听器和应用程序侦听器,则注入的侦听器将按照从服务提供程序解析的顺序运行,然后应用程序侦听器将最后运行。

有关详细信息和示例 ,请参阅 EF Core 侦听器

方法

SaveChangesCanceled(DbContextEventData)

取消 时 DbContext.SaveChanges 调用。

SaveChangesCanceledAsync(DbContextEventData, CancellationToken)

取消 时 DbContext.SaveChangesAsync 调用。

SaveChangesFailed(DbContextErrorEventData)

在 中 DbContext.SaveChanges引发异常时调用。

SaveChangesFailedAsync(DbContextErrorEventData, CancellationToken)

在 中 DbContext.SaveChangesAsync引发异常时调用。

SavedChanges(SaveChangesCompletedEventData, Int32)

在 的 DbContext.SaveChanges末尾调用。

SavedChangesAsync(SaveChangesCompletedEventData, Int32, CancellationToken)

在 的 DbContext.SaveChangesAsync末尾调用。

SavingChanges(DbContextEventData, InterceptionResult<Int32>)

在 的 DbContext.SaveChanges开头调用。

SavingChangesAsync(DbContextEventData, InterceptionResult<Int32>, CancellationToken)

在 的 DbContext.SaveChangesAsync开头调用。

ThrowingConcurrencyException(ConcurrencyExceptionEventData, InterceptionResult)

在 EF 引发 DbUpdateConcurrencyException之前立即调用。

ThrowingConcurrencyExceptionAsync(ConcurrencyExceptionEventData, InterceptionResult, CancellationToken)

在 EF 引发 DbUpdateConcurrencyException之前立即调用。

适用于