다음을 통해 공유


ISaveChangesInterceptor 인터페이스

정의

DbContext.SaveChangesAync 메서드의 가로채기를 DbContext.SaveChanges 허용합니다.

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예외가 throw되었을 때 호출됩니다.

SaveChangesFailedAsync(DbContextErrorEventData, CancellationToken)

에서 DbContext.SaveChangesAsync예외가 throw되었을 때 호출됩니다.

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가 을 throw하기 직전에 호출됩니다 DbUpdateConcurrencyException.

ThrowingConcurrencyExceptionAsync(ConcurrencyExceptionEventData, InterceptionResult, CancellationToken)

EF가 을 throw하기 직전에 호출됩니다 DbUpdateConcurrencyException.

적용 대상