Azure MobileService 客户端 - ToListAsync 未检索所有数据
Azure MobileService Client - ToListAsync not retrieving all data
我正在使用 Azure
提供的 MobileServiceClient
class 从我的 Azure SQL database
中获取数据。当我使用 ToListAsync()
函数时,我似乎只从我的数据库中获取前 60 行左右。有没有解决的办法?
List<riskregister_hazard_template> categories;
categories = await riskTable.Where(r => r.level_1 == _level1)
.Where(r => r.level_2 == _level2).ToListAsync();
请阅读以下摘录:
默认情况下,table 控制器中的读取操作将 return 最多 50 个项目。如果我们的 table 存储中有更多,则客户端将需要请求更多,方法是将 ToListAsync 或 ToEnumerableAsync 方法的结果强制转换为 IQueryResultEnumerable 接口。下面的代码显示了如何遍历 table.
中的所有元素
public async Task<double> CalculateAverageAge()
{
var client = new MobileServiceClient(AppUrl, AppKey);
var table = client.GetTable<Person>();
var sum = 0.0;
var count = 0;
var items = await table.Take(10).ToEnumerableAsync();
while (items != null && items.Count() != 0)
{
count += items.Count();
sum += Enumerable.Sum(items, i => i.Age);
var queryResult = items as IQueryResultEnumerable<Person>;
if (queryResult != null && queryResult.NextLink != null)
{
items = await table.ReadAsync<Person>(queryResult.NextLink);
}
else
{
items = null;
}
}
return sum / count;
}
希望对您有所帮助。
此致,
阿尔贝托·莫里洛
SQLCoffee.com
我正在使用 Azure
提供的 MobileServiceClient
class 从我的 Azure SQL database
中获取数据。当我使用 ToListAsync()
函数时,我似乎只从我的数据库中获取前 60 行左右。有没有解决的办法?
List<riskregister_hazard_template> categories;
categories = await riskTable.Where(r => r.level_1 == _level1)
.Where(r => r.level_2 == _level2).ToListAsync();
请阅读以下摘录:
默认情况下,table 控制器中的读取操作将 return 最多 50 个项目。如果我们的 table 存储中有更多,则客户端将需要请求更多,方法是将 ToListAsync 或 ToEnumerableAsync 方法的结果强制转换为 IQueryResultEnumerable 接口。下面的代码显示了如何遍历 table.
中的所有元素 public async Task<double> CalculateAverageAge()
{
var client = new MobileServiceClient(AppUrl, AppKey);
var table = client.GetTable<Person>();
var sum = 0.0;
var count = 0;
var items = await table.Take(10).ToEnumerableAsync();
while (items != null && items.Count() != 0)
{
count += items.Count();
sum += Enumerable.Sum(items, i => i.Age);
var queryResult = items as IQueryResultEnumerable<Person>;
if (queryResult != null && queryResult.NextLink != null)
{
items = await table.ReadAsync<Person>(queryResult.NextLink);
}
else
{
items = null;
}
}
return sum / count;
}
希望对您有所帮助。
此致,
阿尔贝托·莫里洛
SQLCoffee.com