コード例 #1
0
ファイル: Query.cs プロジェクト: proy27/No2DarkBlue
        /// <summary>
        /// 透過 PartitionKey 取得所有Keys
        /// SLOW
        /// 5W datas search 5W rowkeys for 10s
        /// 2018/12/07
        /// </summary>
        /// <param name="partitionKey"></param>
        /// <returns></returns>
        public DTableEntity[] AllDataKeysByPK(string partitionKey = "")
        {
            var res = new ConcurrentList <DTableEntity>();

            var query = new TableQuery <DTableEntity>()
            {
                SelectColumns = new List <string>()
                {
                    "RowKey", "PartitionKey"
                }
            };

            query.FilterString = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, partitionKey);

            TableContinuationToken continuationToken = null;

            do
            {
                var page = CTable.ExecuteQuerySegmentedAsync(query, continuationToken).Result;
                continuationToken = page.ContinuationToken;
                if (page.Results != null)
                {
                    foreach (var c in page.Results)
                    {
                        res.Add(c);
                    }
                }
            }while (continuationToken != null);

            return(res.ToArray());
        }
コード例 #2
0
ファイル: Query.cs プロジェクト: proy27/No2DarkBlue
        /// <summary>
        /// 取得所有Keys
        /// SLOW
        /// 5W dats return 5W keys for 10s
        /// 2018/12/07
        /// </summary>
        public DTableEntity[] AllDataKeys()
        {
            //var query = new TableQuery<DTableEntity>();
            var res = new ConcurrentList <DTableEntity>();

            var query = new TableQuery <DTableEntity>()
            {
                SelectColumns = new List <string>()
                {
                    "RowKey", "PartitionKey"
                }
            };

            TableContinuationToken continuationToken = null;

            do
            {
                var page = CTable.ExecuteQuerySegmentedAsync(query, continuationToken).Result;
                continuationToken = page.ContinuationToken;
                if (page.Results != null)
                {
                    foreach (var c in page.Results)
                    {
                        res.Add(c);
                    }
                }
            }while (continuationToken != null);

            return(res.ToArray());
        }