gpt4 book ai didi

c# - 我如何使用 Entity Framework 获取记录计数匹配谓词

转载 作者:太空宇宙 更新时间:2023-11-03 20:56:05 24 4
gpt4 key购买 nike

如何在下面的函数中获取匹配谓词的记录数?需要生成分页。

public async virtual Task<IEnumerable<T>> GetAll(Expression<Func<T, bool>> predicate, int pageNo, int pageSize)
{
return (await dbContext.Set<T>().Where(predicate).Skip(pageSize * (pageNo - 1)).Take(pageSize).ToListAsync());
}

最佳答案

要计算项目的数量需要在分页之前使用 Count() 方法完成。Microsoft 文档中的示例:

 public static async Task<PaginatedList<T>> CreateAsync(IQueryable<T> source, int pageIndex, int pageSize)
{
var count = await source.CountAsync();
var items = await source.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToListAsync();
return new PaginatedList<T>(items, count, pageIndex, pageSize);
}

有关更多详细信息,请查看以下链接: https://learn.microsoft.com/en-us/aspnet/core/data/ef-mvc/sort-filter-page?view=aspnetcore-2.0

关于c# - 我如何使用 Entity Framework 获取记录计数匹配谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50448167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com