Windows Azure Table Storage 解决 Guid 查询问题

Posted Pirate_Q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows Azure Table Storage 解决 Guid 查询问题相关的知识,希望对你有一定的参考价值。

在使用 Windows Azure Table Storage 的 CloudTableClient 对Azure 进行数据查询时,会发现在自定义类的Guid类型始终无法去成功查询出数据,对比发现 Guid 值是一致的,最初代码如下:

  public UserEntity GetUserByToken(string token)
        {

            var table = AzureTableContext.CloudTableClientContext.GetTableReference(UserEntity.TableName);
            var query =
               new TableQuery<UserEntity>()
                   .Where(TableQuery.GenerateFilterCondition(
                       "Token",
                       QueryComparisons.Equal,
                       token));
           return table.ExecuteQuery(query).FirstOrDefault();
        }

修改 TableQuery.GenerateFilterCondition 为 TableQuery.GenerateFilterConditionForGuid,修改后代码如下:

 public UserEntity GetUserByToken(string token)
        {
            var table = AzureTableContext.CloudTableClientContext.GetTableReference(UserEntity.TableName);
            var query =
               new TableQuery<UserEntity>()
                   .Where(TableQuery.GenerateFilterConditionForGuid(
                       "Token",
                       QueryComparisons.Equal,
                       Guid.Parse(token)));

            return table.ExecuteQuery(query).FirstOrDefault();
        }

最终得以通过Guid查询数据

以上是关于Windows Azure Table Storage 解决 Guid 查询问题的主要内容,如果未能解决你的问题,请参考以下文章

Azure webjob 似乎不尊重 MaxDequeueCount 属性

Azure Blob 400关于创建容器的错误请求

Azure 应用服务共享托管失败容器启动

Azure 文件存储 putRange 操作失败并显示 416:InvalidHeaderValue (Content-Length)

Azure 基础:Table storage

C# Azure.Storage.Blobs SDK 如何列出和压缩容器中的所有文件并将压缩文件存储在另一个容器中