private void SetRealTsTableData <TU>(Expression <Func <T, TsSet <TU> > > property, List <TU> seed) where TU : TableEntity, new()
        {
            var member       = property.Body as MemberExpression;
            var propertyInfo = member.Member as PropertyInfo;

            var table   = GetCloudTable(propertyInfo.Name);
            var tsTable = new TsTable <TU>(table);

            tsTable.DeleteAllAsync().Wait();
            tsTable.BatchInsertOrMerge(seed).Wait();

            propertyInfo.SetValue(Context, new TsSet <TU>(tsTable));
        }
        private List <TU> GetRealList <TU>() where TU : TableEntity, new()
        {
            var table   = GetCloudTable(typeof(TU).Name);
            var tsTable = new TsTable <TU>(table);
            TableContinuationToken continuationToken = null;
            List <TU> items = new List <TU>();

            do
            {
                var results = tsTable.ExecuteQuerySegmentedAsync(new TableQuery <TU>(), continuationToken).Result;
                items.AddRange(results.Results);
                continuationToken = results.ContinuationToken;
            }while (continuationToken != null);

            return(items);
        }