TableServiceContext.CreateQuery的替代方案

时间:2015-08-05 08:52:41

标签: c# azure azure-storage azure-table-storage

我正在使用方法tableServiceContext.CreateQuery,现在(在升级到Azure SDK 2.5之后)它说*

  

支持通过WCF数据服务访问Windows Azure表   现在已经过时了。建议您使用   用于处理的Microsoft.WindowsAzure.Storage.Table命名空间   表。

*

所有人都可以在 Microsoft.WindowsAzure.Storage.Table 命名空间中为此方法提出替代方案。我正在分享以下代码

 TableServiceContext tableServiceContext = this.tableClient.GetTableServiceContext();
            var query = (from e in this.tableServiceContext.CreateQuery<AuditLoggerEntity>(tableName)
                         where e.PartitionKey == organizationGuid && e.QueueMessageStatus != "Completed" && e.Action == "UpdateIdentityClaim"
                         select e).Take(resultsPerPage).AsTableServiceQuery<AuditLoggerEntity>(tableServiceContext);

            // Get the next continuation token
            var response = query.EndExecuteSegmented(query.BeginExecuteSegmented(nextToken, null, null));

也不推荐使用TableServiceContext类。

1 个答案:

答案 0 :(得分:4)

看看CloudTable.CreateQuery。这是一个使用它的示例代码:

        var account = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true);
        var tableClient = account.CreateCloudTableClient();
        var table = tableClient.GetTableReference("Address");
        var tableQuery = from e in table.CreateQuery<DynamicTableEntity>()
            where e.PartitionKey == "Address"
            select e;
        var queryResult = tableQuery.AsTableQuery().ExecuteSegmented(null).ToList();