2014-09-05 103 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