public void TableGenericQueryableWithContinuationAPM()
        {
            TableQuery <DynamicTableEntity> query = (from ent in currentTable.CreateQuery <DynamicTableEntity>()
                                                     select ent).AsTableQuery();

            OperationContext opContext = new OperationContext();
            TableQuerySegment <DynamicTableEntity> seg = null;

            using (ManualResetEvent evt = new ManualResetEvent(false))
            {
                IAsyncResult asyncRes = null;
                query.BeginExecuteSegmented(null, null, opContext, (res) =>
                {
                    asyncRes = res;
                    evt.Set();
                }, null);
                evt.WaitOne();

                seg = query.EndExecuteSegmented(asyncRes);
            }

            int count = 0;

            foreach (DynamicTableEntity ent in seg)
            {
                Assert.IsTrue(ent.PartitionKey.StartsWith("tables_batch"));
                Assert.AreEqual(ent.Properties.Count, 4);
                count++;
            }

            // Second segment
            Assert.IsNotNull(seg.ContinuationToken);
            using (ManualResetEvent evt = new ManualResetEvent(false))
            {
                IAsyncResult asyncRes = null;
                query.BeginExecuteSegmented(seg.ContinuationToken, null, opContext, (res) =>
                {
                    asyncRes = res;
                    evt.Set();
                }, null);
                evt.WaitOne();

                seg = query.EndExecuteSegmented(asyncRes);
            }

            foreach (DynamicTableEntity ent in seg)
            {
                Assert.IsTrue(ent.PartitionKey.StartsWith("tables_batch"));
                Assert.AreEqual(ent.Properties.Count, 4);
                count++;
            }

            Assert.AreEqual(1500, count);
            TestHelper.AssertNAttempts(opContext, 2);
        }
        public void TableGenericQueryableBasicAPM()
        {
            TableQuery <DynamicTableEntity> query = (from ent in currentTable.CreateQuery <DynamicTableEntity>()
                                                     where ent.PartitionKey == "tables_batch_1"
                                                     select ent).AsTableQuery();

            TableQuerySegment <DynamicTableEntity> seg = null;

            using (ManualResetEvent evt = new ManualResetEvent(false))
            {
                IAsyncResult asyncRes = null;
                query.BeginExecuteSegmented(null, (res) =>
                {
                    asyncRes = res;
                    evt.Set();
                }, null);
                evt.WaitOne();

                seg = query.EndExecuteSegmented(asyncRes);
            }

            foreach (DynamicTableEntity ent in seg)
            {
                Assert.AreEqual(ent.PartitionKey, "tables_batch_1");
                Assert.AreEqual(ent.Properties.Count, 4);
            }
        }