public static async Task <IList <T> > RetrieveByRangeAsync <T>(string tableName, string partitionKey, string operator1, string value1, string operator2 = null, string value2 = null) where T : ITableEntity, new() { CloudTable table = await TableStorageHelper.GetTableReferenceAsync(tableName); string condition = TableQuery.CombineFilters( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, partitionKey), TableOperators.And, TableQuery.GenerateFilterCondition("RowKey", operator1, value1) ); if (!string.IsNullOrEmpty(operator2) || !string.IsNullOrEmpty(value2)) { condition = TableQuery.CombineFilters( condition, TableOperators.And, TableQuery.GenerateFilterCondition("RowKey", operator2, value2) ); } TableQuery <T> query = new TableQuery <T>().Where(condition); return(await ExecuteRetrieveAsync <T>(table, query)); }
public static async Task <IList <T> > RetrieveByPartitionKeyAsync <T>(string tableName, string partitionKey) where T : ITableEntity, new() { CloudTable table = await TableStorageHelper.GetTableReferenceAsync(tableName); TableQuery <T> query = new TableQuery <T>().Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, partitionKey)); return(await ExecuteRetrieveAsync <T>(table, query)); }
public static async Task <IList <T> > RetrieveAllAsync <T>(string tableName) where T : ITableEntity, new() { CloudTable table = await TableStorageHelper.GetTableReferenceAsync(tableName); TableQuery <T> query = new TableQuery <T>(); return(await ExecuteRetrieveAsync <T>(table, query)); }
public static async Task DeleteAsync <T>(string tableName, T entity) where T : ITableEntity, new() { CloudTable table = await TableStorageHelper.GetTableReferenceAsync(tableName); TableOperation operation = TableOperation.Delete(entity); await table.ExecuteAsync(operation); }
public static async Task MergeAsync(string tableName, ITableEntity entity) { CloudTable table = await TableStorageHelper.GetTableReferenceAsync(tableName); TableOperation operation = TableOperation.Merge(entity); await table.ExecuteAsync(operation); }
public static async Task <T> RetrieveAsync <T>(string tableName, string partitionKey, string rowKey) where T : ITableEntity, new() { CloudTable table = await TableStorageHelper.GetTableReferenceAsync(tableName); TableOperation retrieveOperation = TableOperation.Retrieve <T>(partitionKey, rowKey); TableResult result = await table.ExecuteAsync(retrieveOperation); return((T)result.Result); }
public static async Task BatchAsync(string tableName, ITableEntity[] deleteEntities, ITableEntity[] insertEntities, ITableEntity[] mergeEntities) { if (((mergeEntities?.Length ?? 0) > 0) || ((insertEntities?.Length ?? 0) > 0) || ((deleteEntities?.Length ?? 0) > 0)) { CloudTable table = await TableStorageHelper.GetTableReferenceAsync(tableName); TableBatchOperation batchOperation = new TableBatchOperation(); if (deleteEntities != null) { for (int i = 0; i < deleteEntities.Length; i++) { if (deleteEntities[i] != null) { batchOperation.Delete(deleteEntities[i]); } } } if (insertEntities != null) { for (int i = 0; i < insertEntities.Length; i++) { if (insertEntities[i] != null) { batchOperation.Insert(insertEntities[i]); } } } if (mergeEntities != null) { for (int i = 0; i < mergeEntities.Length; i++) { if (mergeEntities[i] != null) { batchOperation.Merge(mergeEntities[i]); } } } await table.ExecuteBatchAsync(batchOperation); } }
public static async Task InsertBatchAsync(string tableName, params ITableEntity[] insertEntities) { if (((insertEntities?.Length ?? 0) > 0)) { CloudTable table = await TableStorageHelper.GetTableReferenceAsync(tableName); TableBatchOperation batchOperation = new TableBatchOperation(); for (int i = 0; i < insertEntities.Length; i++) { if (insertEntities[i] != null) { batchOperation.Insert(insertEntities[i]); } } await table.ExecuteBatchAsync(batchOperation); } }