public static async Task UpdateAsync <TPayload>( this CloudTable table, TPayload payload, KeysPair keys) where TPayload : class, new() { Ensure.ArgumentNotNull(keys, nameof(keys)); Ensure.ArgumentNotNull(payload, nameof(payload)); Ensure.ArgumentNotNull(table, nameof(table)); var entity = new DynamicTableEntity(keys.PartitionKey, keys.RowKey); entity.Timestamp = DateTime.UtcNow; entity.Properties = EntityPropertyConverter.Flatten(payload, new OperationContext()); entity.ETag = "*"; var batch = new TableBatchOperation(); batch.Replace(entity); await table.ExecuteBatchAsync(batch) .ConfigureAwait(false); await table.ExecuteBatchAsync(batch) .ConfigureAwait(false); }
public static async Task RemoveAsync( this CloudTable table, KeysPair keys) { var entity = new DynamicTableEntity(keys.PartitionKey, keys.RowKey); entity.ETag = "*"; await table.ExecuteAsync(TableOperation.Delete(entity)) .ConfigureAwait(false); }