共用方式為


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

適用於