/// <summary> /// Entity Framework Core Second Level Caching Library /// Please use /// services.AddDbContextPool<ApplicationDbContext>((serviceProvider, optionsBuilder) => /// optionsBuilder.UseSqlServer(...).AddInterceptors(serviceProvider.GetRequiredService<SecondLevelCacheInterceptor>())); /// to register it. /// </summary> public SecondLevelCacheInterceptor( IDbCommandInterceptorProcessor processor, IEFSqlCommandsProcessor sqlCommandsProcessor) { _processor = processor; _sqlCommandsProcessor = sqlCommandsProcessor; }
private IDbCommandInterceptorProcessor getProcessor(DbContext context) { if (_processor != null) { return(_processor); } _processor = context.GetService <IDbCommandInterceptorProcessor>(); if (_processor == null) { throw new InvalidOperationException("Please add `AddEFSecondLevelCache()` method to your `IServiceCollection`."); } return(_processor); }
/// <summary> /// Entity Framework Core Second Level Caching Library /// Please use /// services.AddDbContextPool<ApplicationDbContext>((serviceProvider, optionsBuilder) => /// optionsBuilder.UseSqlServer(...).AddInterceptors(serviceProvider.GetRequiredService<SecondLevelCacheInterceptor>())); /// to register it. /// </summary> public SecondLevelCacheInterceptor(IDbCommandInterceptorProcessor processor) { _processor = processor; }