src/ShenNius.Share.Domain/Repository/Extensions/QueryableExtension.cs
(完整代码) 1KBusing SqlSugar;
using System.Threading.Tasks;
namespace ShenNius.Share.Domain.Repository.Extensions
{
public static class QueryableExtension
{
/// <summary>
/// 读取列表
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="query"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
public static async Task<Page<T>> ToPageAsync<T>(this ISugarQueryable<T> query,
int pageIndex,
int pageSize)
{
RefAsync<int> totalItems = 0;
var page = new Page<T>
{
Items = await query.ToPageListAsync(pageIndex, pageSize, totalItems)
};
var totalPages = totalItems != 0 ? (totalItems % pageSize) == 0 ? (totalItems / pageSize) : (totalItems / pageSize) + 1 : 0;
page.CurrentPage = pageIndex;
page.ItemsPerPage = pageSize;
page.TotalItems = totalItems;
page.TotalPages = totalPages;
return page;
}
/// <summary>
/// 读取列表
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="query"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
public static Page<T> ToPage<T>(this ISugarQueryable<T> query,
int pageIndex,
int pageSize)
{
var page = new Page<T>();
var totalItems = 0;
page.Items = query.ToPageList(pageIndex, pageSize, ref totalItems);
var totalPages = totalItems != 0 ? (totalItems % pageSize) == 0 ? (totalItems / pageSize) : (totalItems / pageSize) + 1 : 0;
page.CurrentPage = pageIndex;
page.ItemsPerPage = pageSize;
page.TotalItems = totalItems;
page.TotalPages = totalPages;
return page;
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
