Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 21860 | Bulk Product 73f2e5c3 | Clothing | $505.65 | 87 | ★ 3.6 | 81 | BULK-95e08792 |
| 21861 | Bulk Product 2be860d0 | Home & Garden | $787.02 | 24 | ★ 1.1 | 63 | BULK-455d2d8b |
| 21862 | Bulk Product 67fac2a7 | Books | $798.30 | 313 | ★ 2.4 | 37 | BULK-90327b4b |
| 21863 | Bulk Product 2f8e624f | Toys & Games | $907.21 | 248 | ★ 3.0 | 39 | BULK-52bb2a18 |
| 21864 | Bulk Product beb58275 | Clothing | $223.16 | 498 | ★ 1.5 | 3 | BULK-8e63441e |
| 21865 | Bulk Product fd1a7e14 | Clothing | $634.41 | 90 | ★ 0.7 | 12 | BULK-ae6a72e8 |
| 21866 | Bulk Product f48095bf | Books | $373.57 | 237 | ★ 1.8 | 53 | BULK-3de5a521 |
| 21867 | Bulk Product ff6a4a9f | Toys & Games | $967.43 | 47 | ★ 0.6 | 25 | BULK-f7fe882a |
| 21868 | Bulk Product 0ceb1c02 | Books | $904.67 | 205 | ★ 2.9 | 7 | BULK-5e80265b |
| 21869 | Bulk Product e450eb90 | Books | $498.80 | 377 | ★ 4.0 | 81 | BULK-7d0b509e |
| 21870 | Bulk Product 06a3adce | Sports & Outdoors | $158.13 | 302 | ★ 2.7 | 72 | BULK-121e250b |
| 21871 | Bulk Product 88c06253 | Books | $334.79 | 139 | ★ 2.1 | 97 | BULK-a759a629 |
| 21872 | Bulk Product fad15c42 | Clothing | $743.33 | 333 | ★ 1.5 | 19 | BULK-8930218e |
| 21873 | Bulk Product 701bab67 | Books | $157.88 | 346 | ★ 1.0 | 34 | BULK-4079a905 |
| 21874 | Bulk Product f8653464 | Sports & Outdoors | $822.94 | 490 | ★ 4.1 | 23 | BULK-cc0450d5 |
| 21875 | Bulk Product c0080e90 | Clothing | $193.17 | 76 | ★ 1.5 | 15 | BULK-9128014b |
| 21876 | Bulk Product f2251685 | Electronics | $376.60 | 295 | ★ 1.4 | 47 | BULK-e84b8b13 |
| 21877 | Bulk Product b872b221 | Toys & Games | $306.26 | 407 | ★ 1.7 | 90 | BULK-782e9e0e |
| 21878 | Bulk Product 9ea5dadd | Sports & Outdoors | $954.19 | 488 | ★ 0.3 | 5 | BULK-04baebf6 |
| 21879 | Bulk Product 28cb7a4f | Home & Garden | $831.11 | 470 | ★ 5.0 | 84 | BULK-da4a8b49 |
| 21880 | Bulk Product 1b607bcf | Books | $784.75 | 96 | ★ 4.0 | 74 | BULK-5f7ed500 |
| 21881 | Bulk Product 709a581a | Books | $173.63 | 198 | ★ 0.9 | 40 | BULK-53c43bb8 |
| 21882 | Bulk Product 4cfc2b26 | Toys & Games | $273.38 | 355 | ★ 3.0 | 15 | BULK-8cecd43e |
| 21883 | Bulk Product e07f9026 | Sports & Outdoors | $102.00 | 2 | ★ 3.0 | 85 | BULK-2419cc8e |
| 21884 | Bulk Product 25dbfd17 | Sports & Outdoors | $809.86 | 151 | ★ 3.9 | 65 | BULK-1cf22485 |
| 21885 | Bulk Product f8dcb9d3 | Books | $852.52 | 353 | ★ 0.9 | 13 | BULK-b7bde4e8 |
| 21886 | Bulk Product 1ddbc4e3 | Clothing | $1,007.12 | 38 | ★ 1.4 | 68 | BULK-4cc598fc |
| 21887 | Bulk Product 5df5e20a | Books | $938.89 | 227 | ★ 1.4 | 79 | BULK-646164b9 |
| 21888 | Bulk Product 67805143 | Books | $411.46 | 367 | ★ 4.7 | 49 | BULK-a59139a6 |
| 21889 | Bulk Product 9c90305b | Toys & Games | $973.45 | 324 | ★ 0.5 | 17 | BULK-51f5a803 |
| 21890 | Bulk Product e1837a6b | Toys & Games | $197.51 | 492 | ★ 2.8 | 83 | BULK-055ec6b6 |
| 21891 | Bulk Product 9ff6720a | Sports & Outdoors | $925.46 | 271 | ★ 2.2 | 98 | BULK-30f5cac0 |
| 21892 | Bulk Product cbd6c15a | Sports & Outdoors | $985.49 | 341 | ★ 4.5 | 20 | BULK-87396aa6 |
| 21893 | Bulk Product d437db45 | Toys & Games | $1,002.09 | 315 | ★ 2.6 | 42 | BULK-a902f993 |
| 21894 | Bulk Product 00264272 | Sports & Outdoors | $258.16 | 221 | ★ 1.4 | 83 | BULK-6f05d6bd |
| 21895 | Bulk Product 3b0bf6c2 | Clothing | $140.82 | 231 | ★ 2.9 | 25 | BULK-a2994bac |
| 21896 | Bulk Product b2c92560 | Sports & Outdoors | $504.51 | 387 | ★ 1.9 | 17 | BULK-cb0faa9a |
| 21897 | Bulk Product dbe0340f | Toys & Games | $176.57 | 23 | ★ 0.0 | 3 | BULK-ff0e178a |
| 21898 | Bulk Product f3bada2d | Books | $107.79 | 309 | ★ 3.3 | 73 | BULK-70ebe7eb |
| 21899 | Bulk Product 722063ef | Books | $312.78 | 469 | ★ 4.4 | 15 | BULK-714b995e |
| 21900 | Bulk Product 0748d381 | Sports & Outdoors | $413.49 | 376 | ★ 3.4 | 25 | BULK-fbee13cf |
| 21901 | Bulk Product 8cec9cbc | Electronics | $647.37 | 80 | ★ 2.3 | 6 | BULK-6df401d3 |
| 21902 | Bulk Product e7e0c7b8 | Clothing | $84.39 | 259 | ★ 2.4 | 54 | BULK-abf7a8f4 |
| 21903 | Bulk Product e5093aa4 | Sports & Outdoors | $459.59 | 246 | ★ 1.9 | 0 | BULK-9706e80f |
| 21904 | Bulk Product ee6cc8c1 | Clothing | $213.45 | 135 | ★ 1.5 | 29 | BULK-e3ca9322 |
| 21905 | Bulk Product c01cb66d | Toys & Games | $871.66 | 473 | ★ 2.2 | 78 | BULK-6cd27bc9 |
| 21906 | Bulk Product 34fe20dc | Books | $344.94 | 469 | ★ 1.8 | 38 | BULK-4a69a714 |
| 21907 | Bulk Product 1f75d1e7 | Clothing | $743.16 | 307 | ★ 3.3 | 96 | BULK-9494ad75 |
| 21908 | Bulk Product c9f7aab1 | Clothing | $617.68 | 123 | ★ 2.4 | 42 | BULK-866f47a4 |
| 21909 | Bulk Product d8e8984a | Electronics | $104.59 | 456 | ★ 2.9 | 30 | BULK-11dc55af |
// Efficient pagination with Skip and Take
public async Task<PaginatedResult<DemoProduct>> GetPaginatedProductsAsync(int page, int pageSize)
{
// Get total count (cached if possible)
var totalCount = await _context.DemoProducts.CountAsync(p => p.IsActive);
// Get page of results
var items = await _context.DemoProducts
.Where(p => p.IsActive)
.OrderBy(p => p.Id) // Important: Must have ORDER BY for consistent paging
.Skip((page - 1) * pageSize) // OFFSET in SQL
.Take(pageSize) // FETCH NEXT in SQL
.AsNoTracking() // No tracking needed for read-only
.ToListAsync();
return new PaginatedResult<DemoProduct>
{
Items = items,
TotalCount = totalCount,
Page = page,
PageSize = pageSize
};
}