2012-11-22 47 views
0

以下是用于从Azure Table中获取数据的代码:查询天青表不返回任何数据

一切工作正常。突然我发现,上面的调用不会返回任何东西。 它能够获得ServiceContext。我试图使用"Fidler"工具进行故障排除。实际上数据来自云表(我在Fidler的查询响应中看到)。但是当我迭代"partitionQuery"对象时,它返回时没有数据。相同的代码适用于其他机器。所使用的Azure SDK也与其他机器相同。任何人都可以帮忙吗?谢谢。

更新:现在我正在使用新版本的Azure SDK。 (2012年10月)这可能是一个问题吗?

回答

0

我遇到了同样的问题。当我指定分区键(或任何其他查询)时,它工作得很好。

rangeQuery = new TableQuery<PhotoEvent>().Where(TableQuery.GenerateFilterConditionForBool("active", QueryComparisons.Equal, true)); 
+0

是否因为版本更改? –

1

如果您使用的是2012年10月Azure的SDK,你想改变:

TableServiceContext serviceContext = tableClient.GetDataServiceContext(); 

CloudTableQuery<Customer> partitionQuery = (from e in serviceContext.CreateQuery<Customer>("Customer") 
select e).AsTableServiceQuery<Customer>(); 

TableServiceContext serviceContext = tableClient.GetTableServiceContext(); 

TableServiceQuery<Customer > partitionQuery = (from e in serviceContext.CreateQuery<Customer>(“Customer”) 
                   select e).AsTableServiceQuery(serviceContext); 

注:见more detailed list of breaking change

此外,请确保您已包含Microsoft.WindowsAzure.Storage.Table.DataServices命名空间。

如果您仍然在观察意外的行为,请提供一个提琴手跟踪(通过电子邮件),以便我们可以进一步调查此问题。