public void Update(Cache element) { using (var context = new CacheDbContext(DbContext.DbContextOptions)) { context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; context.Set <Cache>().Update(element); context.SaveChanges(); } }
public void Delete(Func <Cache, bool> predicate) { using (var context = new CacheDbContext(DbContext.DbContextOptions)) { context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; context.Set <Cache>().RemoveRange(DbSet.AsNoTracking().Where(predicate)); context.SaveChanges(); } }
public void RemoveExpiredItems() { using (var context = new CacheDbContext(DbContext.DbContextOptions)) { var now = DateTime.UtcNow; context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; context.Set <Cache>().RemoveRange(DbSet.AsNoTracking().Where(_ => now > _.ExpiresOn)); context.SaveChanges(); } }