我的 Azure 移动服务中有一个名为 NameTable 的表。当我在客户端应用程序(使用移动服务 SDK 的 WP8 应用程序)中进行以下调用时:
var myTable = GetZumoService().GetTable<NameTable>();
var myList = await myTable.Where(nameInfo => nameInfo.IsTaken == false).ToListAsync();
虽然我知道表中有超过 400 行符合查询条件,但我的列表总是只包含 50 项。
我做错了什么?
最佳答案
默认情况下,该服务只会在每次读取操作中返回一定数量的行(50,如您所见)。由于 Azure 服务在免费时(以及付费服务的成本)有返回字节数的配额,因此移动服务具有此默认值。
您可以使用Take
操作请求更多行。但是,您在任何给定时间可以询问的行数都有限制(即 1000)。这个想法是你不应该要求一个表中的所有数据 - 它可能有很多 - 并且在你需要的时候使用 Skip
和 Take
要求行操作。
var myTable = GetZumoService().GetTable<NameTable>();
var myList = await myTable.Take(500)
.Where(nameInfo => nameInfo.IsTaken == false)
.ToListAsync();
关于c# - Azure 移动服务查询不返回所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14088469/