IIdentityResolutionInterceptor 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
允许在 开始跟踪新实体实例时 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 调用。 此方法必须将新实例中的任何属性值和关系更改应用于现有实例。 然后,将丢弃新实例。 |