2016-01-27 40 views
0

所以我有一個Azure Mobile Web Service它從我的數據庫返回行。如何從Azure移動服務獲取請求返回所有行?

但目前它不返回所有行,似乎是封頂。

this page我讀的報價:

爲.NET後端移動服務

分頁考慮要覆蓋在.NET後端移動服務的50行限制,你 還必須將EnableQueryAttribute應用於公共GET方法,並指定分頁行爲。當應用到方法,下面 將最大返回的行1000:

[EnableQuery(MaxTop=1000)] 

這是好事,並返回1000,而不是默認的50

的是有沒有辦法返回所有行而不是使用EnableQueryAttribute的設定數字?

+0

將該屬性設置爲int.MaxValue的工作(即'[EnableQuery(MaxTop = int.MaxValue)]'?這實際上意味着返回的一切。你應該知道這在服務器上的內存影響,但是,因爲響應可能會在返回給客戶端之前進行緩衝(不確定此行爲)。 – carlosfigueira

回答

3

如果您在屬性設置的屬性int.MaxValue(即[EnableQuery(MAXTOP = int.MaxValue)]`,那麼你會得到你想要的行爲。

另一種方法是不返回IQueryable,對此MaxTop行爲被應用,但返回一個IList代替(但你會失去其他IQueryable功能,如過濾):

public IList<TodoItem> GetAllTodoItems() 
    { 
     return Query().ToList(); 
    } 

注意,你應該知道的記憶的影響返回非常多的項目秒。我不確定,但可能整個響應在返回客戶端之前被緩衝(應該測試),並且如果返回大量元素,則可能會遇到服務器中的性能問題。

相關問題