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);
        }
예제 #2
0
        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);
        }