public Task DeleteAll(IDatabaseAsync database, IDataKey key) { log.LogDebug("DeleteAll: [{0}]", key); var tasks = new List <Task>(mainIndexManager.Delete(database, key)); tasks.Add(link.DeleteAll(database, key)); return(Task.WhenAll(tasks)); }
public async Task DeleteAll(IDatabaseAsync database, IDataKey key) { if (database == null) { throw new ArgumentNullException(nameof(database)); } if (key == null) { throw new ArgumentNullException(nameof(key)); } logger.LogDebug("DeleteAll: [{0}]", key); var deleteKeys = mainIndexManager.Delete(database, key); var keys = await GetAllKeys(database, key).ConfigureAwait(false); await database.KeyDeleteAsync(keys.ToArray()).ConfigureAwait(false); await Task.WhenAll(deleteKeys).ConfigureAwait(false); }