DbContext
中是否有某种方法或钩子可以知道何时通过上下文池对其进行重置?我想缓存一些状态并清除它。 release notes指出了这一点:
如果在派生的DbContext类中维护自己的状态(例如,私有字段),则不应使用DbContext池,不应在请求之间共享该状态。 EF Core只会在将DbContext实例添加到池中之前重置知道的状态。
如何使EF Core知道数据?
答案 0 :(得分:0)
在仔细阅读了Entity Framework Code之后,这就是神奇的调味料。
IResettableService
的类向IServiceCollection
注册:
services.AddScoped<ServiceContract, ServiceImplementation>()
.AddScoped<IResettableService>(sp => sp.GetRequiredService<ServiceContract>());