在使用 Entity Framework Core(EF Core)進行分頁查詢時,你可以借助以下方法來實現:
-
使用
Skip
和Take
方法:Skip
方法用于跳過指定數量的記錄,而Take
方法用于選擇指定數量的記錄。結合使用這兩個方法,可以實現分頁功能。int pageNumber = 1; // 當前頁碼 int pageSize = 10; // 每頁顯示的記錄數var query = dbContext.Products // 數據庫上下文的查詢.Skip((pageNumber - 1) * pageSize) // 跳過前面的記錄.Take(pageSize); // 取得當前頁的記錄var result = query.ToList(); // 執行查詢
-
使用擴展方法
Paginate
:你也可以自定義一個擴展方法,將分頁邏輯封裝在其中,以便在多個地方重復使用。public static class QueryableExtensions {public static IQueryable<T> Paginate<T>(this IQueryable<T> query, int pageNumber, int pageSize){return query.Skip((pageNumber - 1) * pageSize).Take(pageSize);} }var pageNumber = 1; // 當前頁碼 var pageSize = 10; // 每頁顯示的記錄數var query = dbContext.Products.Paginate(pageNumber, pageSize);var result = query.ToList();
這些方法允許你指定當前頁碼和每頁顯示的記錄數,從而實現分頁查詢。你可以將它們應用于你的 EF Core 查詢中,根據需要進行修改和定制。