簡體   English   中英

如何在我的回復中添加 totalresults? 這是我的代碼。 它按預期返回結果,但我想獲得總結果數

[英]how can i add totalresults to my response ? here is my code . it returns the results as intended but i want to get total result number

public async Task<IReadOnlyList<T>> GetPagedReponseAsync(int pageNumber, int pageSize)
{            
    var result = await _dbContext
    .Set<T>()
    .Skip((pageNumber - 1) * pageSize)
    .Take(pageSize)
    .AsNoTracking()
    .ToListAsync();
    return result;
}

結果包含預期的分頁數據,但如何返回結果總數和響應數據?

您可以創建包含您的項目 + 其他數據(如項目計數)的特定響應 object。 對項目計數 + 項目請求本身進行數據庫請求。 例如:

public class PagedResponse<T>
{
    public PagedResponse(IReadOnlyCollection<T> items, int count)
    {
        Items = items;
        TotalCount = count;
    }

    public IReadOnlyCollection<T> Items { get; }
    public int TotalCount { get; }
}

public async Task<PagedResponse<T>> GetPagedReponseAsync<T>(int pageNumber, int pageSize) where T : class
{
    var count = await _dbContext.Set<T>().CountAsync();
            
    var result = await _dbContext
    .Set<T>()
    .Skip((pageNumber - 1) * pageSize)
    .Take(pageSize)
    .AsNoTracking()
    .ToListAsync();

    return new PagedResponse(result, count);
}

暫無
暫無

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

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