/// <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()); }
/// <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()); }