public Task UpdateAsync(Cache element) { return(Task.Run(async() => { using (var context = new CacheDbContext(DbContext.DbContextOptions)) { context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; context.Set <Cache>().Update(element); return await context.SaveChangesAsync(); } })); }
public Task RemoveExpiredItemsAsync() { return(Task.Run(async() => { 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)); return await context.SaveChangesAsync(); } })); }