繁体   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