public List<FollowerEntry> getEntryList(string PartitionKey) { List<FollowerEntry> list = new List<FollowerEntry>(); ListRowsContinuationToken continuationToken = null; do { var allCustomers = context.CreateQuery<FollowerEntry>("FollowerEntry").Where(n => n.PartitionKey == PartitionKey).Take(1000); var query = allCustomers as DataServiceQuery<FollowerEntry>; if (continuationToken != null) { query = query.AddQueryOption("NextPartitionKey", continuationToken.PartitionKey); if (continuationToken.RowKey != null) { query = query.AddQueryOption("NextRowKey", continuationToken.RowKey); } } var response = query.Execute() as QueryOperationResponse<FollowerEntry>; foreach (var obj in response) { list.Add(obj); } if (response.Headers.ContainsKey("x-ms-continuation-NextPartitionKey")) { continuationToken = new ListRowsContinuationToken(); continuationToken.PartitionKey = response.Headers["x-ms-continuation-NextPartitionKey"]; if (response.Headers.ContainsKey("x-ms-continuation-NextRowKey")) { continuationToken.RowKey = response.Headers["x-ms-continuation-NextRowKey"]; } } else { continuationToken = null; } } while (continuationToken != null); return list; }
public long Count() { long cnt = 0; ListRowsContinuationToken continuationToken = null; do { var allCustomers = context.CreateQuery<FollowerEntry>("FollowerEntry").Take(1000); var query = allCustomers as DataServiceQuery<FollowerEntry>; if (continuationToken != null) { query = query.AddQueryOption("NextPartitionKey", continuationToken.PartitionKey); if (continuationToken.RowKey != null) { query = query.AddQueryOption("NextRowKey", continuationToken.RowKey); } } var response = query.Execute() as QueryOperationResponse; foreach (var obj in response) { cnt++; } if (response.Headers.ContainsKey("x-ms-continuation-NextPartitionKey")) { continuationToken = new ListRowsContinuationToken(); continuationToken.PartitionKey = response.Headers["x-ms-continuation-NextPartitionKey"]; if (response.Headers.ContainsKey("x-ms-continuation-NextRowKey")) { continuationToken.RowKey = response.Headers["x-ms-continuation-NextRowKey"]; } } else { continuationToken = null; } } while (continuationToken != null); return cnt; }
public override void PrimeOutput(int outputs, int[] outputIDs, PipelineBuffer[] buffers) { IDTSOutput100 output = ComponentMetaData.OutputCollection[0]; PipelineBuffer buffer = buffers[0]; // A ListRowsContinuationToken class encapsulates the partition and row key ListRowsContinuationToken continuationToken = null; string strSource = (string)this.ComponentMetaData.CustomPropertyCollection["TableName"].Value; string srcTable = string.Empty; string srcPartitionKey = string.Empty; if (strSource != string.Empty) { string[] str1 = strSource.Split(';'); srcTable = str1[0].Split('=')[1]; srcPartitionKey = str1[1].Split('=')[1]; } do { var allItems = this.context.CreateQuery <GenericEntity>(srcTable).Where(item => item.PartitionKey == srcPartitionKey); var query = allItems as DataServiceQuery <GenericEntity>; if (continuationToken != null) { query = query.AddQueryOption("NextPartitionKey", continuationToken.PartitionKey); if (continuationToken.RowKey != null) { query = query.AddQueryOption("NextRowKey", continuationToken.RowKey); } } var response = query.Execute() as QueryOperationResponse; if (response.Headers.ContainsKey("x-ms-continuation-NextPartitionKey")) { continuationToken = new ListRowsContinuationToken(); continuationToken.PartitionKey = response.Headers["x-ms-continuation-NextPartitionKey"]; if (response.Headers.ContainsKey("x-ms-continuation-NextRowKey")) { continuationToken.RowKey = response.Headers["x-ms-continuation-NextRowKey"]; } } else { continuationToken = null; } foreach (var item in allItems) { buffer.AddRow(); for (int x = 0; x < columnInformation.Count; x++) { var ci = (ColumnInfo)columnInformation[x]; var value = item[ci.ColumnName].Value; if (value != null) { buffer[ci.BufferColumnIndex] = value; } else { buffer.SetNull(ci.BufferColumnIndex); } } } }while (continuationToken != null); buffer.SetEndOfRowset(); }