示例#1
0
 public void Update(Cache element)
 {
     using (var context = new CacheDbContext(DbContext.DbContextOptions)) {
         context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
         context.Set <Cache>().Update(element);
         context.SaveChanges();
     }
 }
示例#2
0
 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();
     }
 }
示例#3
0
 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();
     }
 }