public void TableServiceQueryExecuteSegmentedBasicSync() { CloudTableClient tableClient = GenerateCloudTableClient(); TableServiceContext ctx = tableClient.GetTableServiceContext(); // Retrieve Entities TableServiceQuery <BaseEntity> query = (from ent in ctx.CreateQuery <BaseEntity>(currentTable.Name) select ent).AsTableServiceQuery(ctx); List <BaseEntity> totalResults = new List <BaseEntity>(); TableQuerySegment <BaseEntity> segment = null; do { segment = query.ExecuteSegmented(segment != null ? segment.ContinuationToken : null); if (totalResults.Count == 0) { // Assert first segment has continuation token Assert.IsNotNull(segment.ContinuationToken); } totalResults.AddRange(segment); }while (segment.ContinuationToken != null); Assert.AreEqual(totalResults.Count, totalTestEntities); }
private void DoTableServiceQueryExecuteSegmentedWithTake(TablePayloadFormat format) { CloudTableClient tableClient = GenerateCloudTableClient(); TableServiceContext ctx = tableClient.GetTableServiceContext(); SetPayloadFormatOnDataServiceContext(ctx, format, tableClient); int takeCount = 150; // Retrieve Entities TableServiceQuery <BaseEntity> query = (from ent in ctx.CreateQuery <BaseEntity>(currentTable.Name) select ent).Take(takeCount).AsTableServiceQuery(ctx); List <BaseEntity> totalResults = new List <BaseEntity>(); TableQuerySegment <BaseEntity> segment = null; int segmentCount = 0; do { segment = query.ExecuteSegmented(segment != null ? segment.ContinuationToken : null); if (totalResults.Count == 0) { // Assert first segment has continuation token Assert.IsNotNull(segment.ContinuationToken); } totalResults.AddRange(segment); segmentCount++; }while (segment.ContinuationToken != null); Assert.IsTrue(segmentCount >= totalTestEntities / takeCount); Assert.AreEqual(totalResults.Count, totalTestEntities); }