private Task <TableQuerySegment <TResult> > ExecuteQuerySegmentedInternalAsync <TResult>(TableQuery query, TableContinuationToken token, CloudTableClient client, CloudTable table, EntityResolver <TResult> resolver, TableRequestOptions requestOptions, OperationContext operationContext, CancellationToken cancellationToken, bool isLinq) { operationContext = (operationContext ?? new OperationContext()); return(TableExtensionRetryPolicy.Execute(async delegate { try { return await TableExtensionQueryHelper.QueryDocumentsAsync(query.TakeCount, string.IsNullOrEmpty(query.FilterString) ? query.FilterString : ODataV3Translator.TranslateFilter(query.FilterString, useUtcTicks: false), query.SelectColumns, token, client, table, resolver, requestOptions, operationContext, isLinq, query.OrderByEntities, TombstoneFieldName); } catch (Exception exception) { StorageException tableResultFromException = EntityHelpers.GetTableResultFromException(exception); operationContext.RequestResults.Add(tableResultFromException.RequestInformation); throw tableResultFromException; } }, cancellationToken, operationContext, requestOptions)); }
public Task <TResult> ExecuteTableBatchOperationAsync <TResult>(TableBatchOperation operation, CloudTableClient client, CloudTable table, TableRequestOptions requestOptions, OperationContext operationContext, CancellationToken cancellationToken) where TResult : class { operationContext = (operationContext ?? new OperationContext()); return(TableExtensionRetryPolicy.Execute(() => TableExtensionOperationHelper.ExecuteBatchOperationAsync <TResult>(operation, client, table, requestOptions, operationContext, cancellationToken), cancellationToken, operationContext, requestOptions)); }