簡體   English   中英

Azure MobileService客戶端-ToListAsync不會檢索所有數據

[英]Azure MobileService Client - ToListAsync not retrieving all data

我正在使用Azure提供的MobileServiceClient類從Azure SQL database獲取數據。 看來當我使用ToListAsync()函數時, ToListAsync()數據庫中獲取前60行左右。 有沒有解決的辦法?

List<riskregister_hazard_template> categories;

categories = await riskTable.Where(r => r.level_1 == _level1)
.Where(r => r.level_2 == _level2).ToListAsync();

請閱讀以下摘錄:

默認情況下,表控制器中的讀取操作將最多返回50個項目。 如果我們的表存儲空間更多,則客戶端需要通過將ToListAsync或ToEnumerableAsync方法的結果強制轉換為IQueryResultEnumerable接口來請求更多請求。 下面的代碼顯示了如何遍歷表中的所有元素。

 public async Task<double> CalculateAverageAge()
{
    var client = new MobileServiceClient(AppUrl, AppKey);
    var table = client.GetTable<Person>();
    var sum = 0.0;
    var count = 0;
    var items = await table.Take(10).ToEnumerableAsync();
    while (items != null && items.Count() != 0)
    {
        count += items.Count();
        sum += Enumerable.Sum(items, i => i.Age);

        var queryResult = items as IQueryResultEnumerable<Person>;
        if (queryResult != null && queryResult.NextLink != null)
        {
            items = await table.ReadAsync<Person>(queryResult.NextLink);
        }
        else
        {
            items = null;
        }
    }

    return sum / count;
}

來源: https : //azure.microsoft.com/en-us/blog/better-support-for-paging-with-table-storage-in-azure-mobile-services-net-backend/

希望這可以幫助。

問候,

阿爾貝托·莫里洛(Alberto Morillo)

SQLCoffee.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM