public virtual TableQuerySegment <TElement> ExecuteQuerySegmented <TElement>(TableQuery <TElement> query, TableContinuationToken token, TableRequestOptions requestOptions = null, OperationContext operationContext = null) where TElement : ITableEntity, new() { CommonUtility.AssertNotNull("query", query); if (query.Provider != null) { return(query.ExecuteSegmented(token, requestOptions, operationContext)); } return(query.ExecuteQuerySegmentedInternal(token, ServiceClient, this, requestOptions, operationContext)); }
public static IEnumerable <U> MapSegment <T, U>(this TableQuery <T> query, Func <IList <T>, U> func) { TableContinuationToken token = null; do { var segment = query.ExecuteSegmented(token); if (segment.Results.Count > 0) { yield return(func(segment.Results)); } token = segment.ContinuationToken; } while (token != null); }
public static void ForEachSegment <T>(this TableQuery <T> query, Action <IList <T> > action) { TableContinuationToken token = null; do { var segment = query.ExecuteSegmented(token); if (segment.Results.Count > 0) { action(segment.Results); } token = segment.ContinuationToken; } while (token != null); }
public static U AggregateSegment <T, U>(this TableQuery <T> query, U seed, Func <IEnumerable <T>, U> selector, Func <U, U, U> aggregator) { TableContinuationToken token = null; do { var segment = query.ExecuteSegmented(token); if (segment.Results.Count > 0) { var newList = selector(segment.Results); seed = aggregator(seed, newList); } token = segment.ContinuationToken; } while (token != null); return(seed); }