从我找到的EF Core数据库拦截器中可以看出,它们必须使用AddInterceptors
方法在Startup.cs
中注册。这个方法接收一个实例,使拦截器成为单例。
我需要在拦截器中注入范围服务,但这种方式是不可能的。
是否有一种方法可以将作用域的db拦截器添加到DbContext
中?
services.AddDbContext<DatabaseContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString(...)
.AddInterceptors(new DatabaseLogIntgerceptor());