Поделиться через


IIdentityResolutionInterceptor Интерфейс

Определение

Позволяет перехватывать конфликты разрешения удостоверений, DbContext когда начинает отслеживать новые экземпляры сущностей.

public interface IIdentityResolutionInterceptor : Microsoft.EntityFrameworkCore.Diagnostics.IInterceptor
type IIdentityResolutionInterceptor = interface
    interface IInterceptor
Public Interface IIdentityResolutionInterceptor
Implements IInterceptor
Производный
Реализации

Комментарии

Может DbContext отслеживать только один экземпляр сущности с любым заданным значением первичного ключа. Это означает, что несколько экземпляров сущности с одним и тем же значением ключа должны быть разрешены в один экземпляр. Для этого можно использовать перехватчик этого типа. Он вызывается с существующим отслеживаемого экземпляра и новым экземпляром и должен применять любые значения свойств и изменения связей из нового экземпляра в существующий экземпляр. Затем новый экземпляр удаляется.

Используйте AddInterceptors(IInterceptor[]) для регистрации перехватчиков приложений.

Расширения также могут регистрировать перехватчики во внутреннем поставщике услуг. Если обнаружены как внедренные, так и перехватчики приложений, внедренные перехватчики запускаются в том порядке, в который они разрешаются у поставщика услуг, а затем перехватчики приложений запускаются последним.

Дополнительные сведения и примеры см. в статье Перехватчики EF Core и отслеживание изменений EF Core .

Методы

UpdateTrackedInstance(IdentityResolutionInterceptionData, EntityEntry, Object)

Вызывается при попытке DbContext отслеживания нового экземпляра сущности с тем же значением первичного ключа, что и у уже отслеживаемого экземпляра. Этот метод должен применять любые значения свойств и изменения связей из нового экземпляра в существующий экземпляр. Затем новый экземпляр удаляется.

Применяется к