我有一个与本地Azure移动服务(localhost)对话的查询功能。我知道默认查询限制是50,官方文档说Take
扩展函数可以用来将限制扩展到1000.但由于某种原因它不适用于我,无论多少Take
参数是,我总是有50个对象。我做错了吗?
private async void UpdatePlaceNameList(String type)
{
var table = App.MobileService.GetTable<Place>();
var query = table
.Where(p => p.Type == type)
.Take(600)
.IncludeTotalCount();
ViewModel["PlaceList"] = await query.ToListAsync();
}
答案 0 :(得分:8)
对于.NET后端,服务器强加的限制为50,与文档说的有些不同(适用于Node.js后端的那些)
.NET后端一次返回默认限制50条记录。要覆盖它,您需要在后端代码中向您的getAll函数添加Queryable(MaxTop),如下所示:
原始答案
[Queryable(MaxTop = 1000)]
public IQueryable<Place> GetAll()
更新1:6/5/2018
原来的答案现已标记为过时,请改用以下代码:
[EnableQuery(MaxTop = 1000)]
public IQueryable<Place> GetAll()
-
现在,您可以一次使用X记录。