首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按实体属性值查询Microsoft Azure

按实体属性值查询Microsoft Azure
EN

Stack Overflow用户
提问于 2017-12-08 23:42:24
回答 1查看 71关注 0票数 0

我想按属性值查询表。假设我有下表

我想创建一个查询,其中给出PartitionKey = section3 FirstName = value3 Timestamp : last 12小时的所有记录

到目前为止,我有以下代码:

代码语言:javascript
运行
复制
// Retrieve the storage account from the connection string.
        CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
            CloudConfigurationManager.GetSetting("StorageConnectionString"));

        // Create the table client.
        CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

        // Create the CloudTable object that represents the "asometrichub" table.
        CloudTable table = tableClient.GetTableReference("customer");

        TableQuery rangeQuery = new TableQuery().Where(
                  TableQuery.CombineFilters(
                      TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "section3"),
                      TableOperators.And,
                      TableQuery.GenerateFilterConditionForDate("Timestamp", QueryComparisons.GreaterThanOrEqual, DateTime.UtcNow.AddHours(-12))));

不确定如何在FirstName=value3上过滤。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-09 10:25:46

TableQuery.CombineFilters()可以以嵌套的方式调用:

代码语言:javascript
运行
复制
// Retrieve the storage account from the connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
    CloudConfigurationManager.GetSetting("StorageConnectionString"));

// Create the table client.
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

// Create the CloudTable object that represents the "asometrichub" table.
CloudTable table = tableClient.GetTableReference("customer");

string combinedFilter = TableQuery.CombineFilters(
    TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "section3"),
    TableOperators.And,
    TableQuery.GenerateFilterConditionForDate("Timestamp", QueryComparisons.GreaterThanOrEqual, DateTime.UtcNow.AddHours(-12)));

combinedFilter = TableQuery.CombineFilters(
    combinedFilter,
    TableOperators.And,
    TableQuery.GenerateFilterCondition("FirstName", QueryComparisons.Equal, "value3"));

TableQuery rangeQuery = new TableQuery().Where(combinedFilter);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47717604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档