語言

ISaveChangesInterceptor 介面

定義

允許攔截 DbContext.SaveChanges 和 DbContext.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 攔截器 。

方法

名稱 Description
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前打電話。

適用於