如何从azure表存储查询中获取超过1000个实体?

我已经读过azure表存储查询最多可以提供1000个实体,我们必须使用continuation令牌来获取下一组实体。 我只是想找一个简单的方法来做到这一点。 我想要做的就是获取查询应该实际返回的所有实体,而不仅仅是1000个实体。 我在这里阅读了@smarxpost,他提到了TableStorageDataServiceQuery ExecuteAll方法,但由于我无法在存储客户端库中找到TableStorageDataServiceQuery ,因此这似乎已被弃用。

我还发现了这个msdn文档,介绍了如何处理连续令牌以获取所有实体。 我只是想知道这是否是获得所有实体的最佳方式,我不需要任何分页。 或者我可以使用任何ExecuteAll esque方法吗?

像这样使用AsTableServiceQuery:

 var data = context.CreateQuery("table").AsTableServiceQuery().Execute(); 

有很多方法可以查询表存储,但最简单的方法是创建一个CloudTable对象,创建一个TableQuery对象,然后在传递TableQuery对象的CloudTable对象上调用ExecuteQuery。

来自http://www.bing.com/search?q=azure+table+storage+query&qs=n&form=QBRE&pq=azure+table+storage+query&sc=8-25&sp=-1&sk=&cvid=eb5a88d975df445ab665fbf5082fa7c8的第一个结果将采取您可以访问http://www.windowsazure.com/en-us/develop/net/how-to-guides/table-services/ ,其中显示了如何执行此操作的示例。

它有点怪诞 – 而不是一个很好的长期解决方案 – 但我专门为Linqpad分配Azure存储驱动程序来获取表存储的所有记录。

https://github.com/ryan1234/AzureStorageDriver

获取它,构建它并使用Linqpad安装它。 在Linqpad中反对它的示例查询:

 var logs = (from log in SBEmailWorkerRole.ToList() select new { LogEntry = log.LogEntry, CreateDate = log.Timestamp.ToLocalTime() }).ToList(); logs.OrderByDescending(l => l.CreateDate).Dump("Logs"); 

如果我对文件的理解是正确的,那就没有办法做到这一点。

请注意,即使记录数<1000,也可以返回继续令牌。在执行queires时始终检查继续令牌是个好主意。

另外,为什么要返回超过1000条记录? 用例是什么?