本文整理汇总了C#中Microsoft.WindowsAzure.Storage.Table.CloudTable.ExecuteQueryAsync方法的典型用法代码示例。如果您正苦于以下问题:C# CloudTable.ExecuteQueryAsync方法的具体用法?C# CloudTable.ExecuteQueryAsync怎么用?C# CloudTable.ExecuteQueryAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.WindowsAzure.Storage.Table.CloudTable
的用法示例。
在下文中一共展示了CloudTable.ExecuteQueryAsync方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetSourceRootVersion
private async Task<int> GetSourceRootVersion(CloudTable table, string sourceId)
{
var loadRootQuery = new TableQuery().Where(
TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, sourceId),
TableOperators.And,
TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.Equal, SourceRootRowKey)));
var query = await table.ExecuteQueryAsync(loadRootQuery);
var sourceRootEntity = query.First();
return sourceRootEntity.Properties["Version"].Int32Value.Value;
}
示例2: SyncTableSince
private async Task SyncTableSince(CloudTable table, DateTimeOffset timestamp)
{
var query = new TableQuery<DynamicTableEntity>
{
FilterString = TableQuery.GenerateFilterConditionForDate("Timestamp", "gt", timestamp),
};
IList<DynamicTableEntity> allFuckingEntities = await table.ExecuteQueryAsync(
query, _token, list => Console.WriteLine("loaded {0} rows", list.Count));
CloudTable dstTable = _dstClient.GetTableReference(table.Name);
await dstTable.CreateIfNotExistsAsync();
int n = 0;
DateTimeOffset maxSourceTs = timestamp;
foreach (var batch1 in allFuckingEntities.GroupBy(x => x.PartitionKey))
{
if (_token.IsCancellationRequested)
return;
foreach (var batch2 in batch1.Batch(100))
{
if (_token.IsCancellationRequested)
return;
var op = new TableBatchOperation();
foreach (DynamicTableEntity entity in batch2)
{
op.InsertOrReplace(entity);
if (entity.Timestamp > maxSourceTs)
{
maxSourceTs = entity.Timestamp;
}
}
await dstTable.ExecuteBatchAsync(op, _token);
n += Math.Min(op.Count, 100);
Console.WriteLine("sent {0} rows", n);
}
}
_timestamps[table] = maxSourceTs;
}