Azure移动服务分页限制
我有一个与本地Azure移动服务(localhost)对话的查询功能。我知道默认的查询限制是50,官方文件说可以使用Azure移动服务分页限制,azure,azure-mobile-services,Azure,Azure Mobile Services,我有一个与本地Azure移动服务(localhost)对话的查询功能。我知道默认的查询限制是50,官方文件说可以使用Take扩展功能将限制扩展到1000。但由于某种原因,它对我不起作用,无论Take参数有多少,我总是能得到50个对象。我做错什么了吗 private async void UpdatePlaceNameList(String type) { var table = App.MobileService.GetTable<Place>();
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();
}
private异步void UpdatePlaceNameList(字符串类型)
{
var table=App.MobileService.GetTable();
var查询=表
.Where(p=>p.Type==Type)
.Take(600)
.IncludeTotalCount();
ViewModel[“PlaceList”]=等待查询。ToListSync();
}
针对.NET后端,服务器强加的限制为50,这与文档所说的(适用于Node.js后端的限制)略有不同
NET后端每次返回50条记录的默认限制。要覆盖这一点,您需要在后端代码中的getAll函数中添加一个Queryable(MaxTop),如下所示:
原始答案
[Queryable(MaxTop = 1000)]
public IQueryable<Place> GetAll()
[Queryable(MaxTop=1000)]
公共IQueryable GetAll()
更新1:2018年6月5日
原始答案现在已标记为过时,请使用以下代码:
[EnableQuery(MaxTop = 1000)]
public IQueryable<Place> GetAll()
[启用查询(MaxTop=1000)]
公共IQueryable GetAll()
--
现在,您一次最多可以获得X条记录 对于.NET后端,服务器强加的限制为50,这与文档所说的(适用于Node.js后端的限制)略有不同 NET后端每次返回50条记录的默认限制。要覆盖这一点,您需要在后端代码中的getAll函数中添加一个Queryable(MaxTop),如下所示: 原始答案
[Queryable(MaxTop = 1000)]
public IQueryable<Place> GetAll()
[Queryable(MaxTop=1000)]
公共IQueryable GetAll()
更新1:2018年6月5日
原始答案现在已标记为过时,请使用以下代码:
[EnableQuery(MaxTop = 1000)]
public IQueryable<Place> GetAll()
[启用查询(MaxTop=1000)]
公共IQueryable GetAll()
--
现在,您一次最多可以获得X条记录 谢谢,现在它工作得很好!真节省时间!您还可以使用[Queryable(PageSize=X)]。这里发生的是默认的页面大小是50,所以你只能得到50+一个延续链接。更改maxtop或pagesize都会覆盖这一点。谢谢,它现在工作得很好!真节省时间!您还可以使用[Queryable(PageSize=X)]。这里发生的是默认的页面大小是50,所以你只能得到50+一个延续链接。更改maxtop或pagesize将覆盖该选项。