2014-09-05 121 views
1

我有一个查询函数,会谈到本地Azure移动服务(本地主机)。我知道默认查询限制是50,官方文档说Take扩展功能可以用来将限制扩展到1000.但由于某种原因,它不适用于我,不管参数Take有多少,我总是得到50个对象。我做错了什么?Azure移动服务寻呼限制

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(); 
    } 

回答

5

反对.NET后端有50服务器强加的限制,从文档说什么不同的工作一点点(那些适用于Node.js的后端)

的.NET后端返回一次默认限制50条记录。要覆盖,你需要一个可查询(MAXTOP)添加到您的GETALL功能在你的后端代码如下所示:

[Queryable(MaxTop = 1000)] 
public IQueryable<Place> GetAll() 

现在,这将让你在同一时间起床X记录。

+0

谢谢你现在完美的作品!这样节省时间! – zhengbli 2014-09-05 16:37:50

+2

您也可以使用[Queryable(PageSize = X)]。这里发生的情况是默认的页面大小是50,所以你只能得到50+的继续链接。更改maxtop或页面大小覆盖。 – phillipv 2014-09-27 18:28:15