Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 14310 | Bulk Product 2dac6536 | Sports & Outdoors | $353.84 | 448 | ★ 1.6 | 38 | BULK-8112921f |
| 14311 | Bulk Product 5c61c718 | Electronics | $441.71 | 28 | ★ 0.7 | 56 | BULK-2edcbb00 |
| 14312 | Bulk Product 0bf1d8ed | Sports & Outdoors | $327.90 | 31 | ★ 1.6 | 96 | BULK-b4b098a8 |
| 14313 | Bulk Product 12cc7008 | Home & Garden | $889.82 | 331 | ★ 3.9 | 67 | BULK-2f3300b0 |
| 14314 | Bulk Product c1983d4d | Home & Garden | $568.28 | 277 | ★ 4.3 | 64 | BULK-f3204830 |
| 14315 | Bulk Product 2981d1e8 | Sports & Outdoors | $482.45 | 36 | ★ 3.8 | 31 | BULK-9532f564 |
| 14316 | Bulk Product f5c730d1 | Toys & Games | $578.54 | 230 | ★ 2.5 | 18 | BULK-92571389 |
| 14317 | Bulk Product 7399f352 | Toys & Games | $549.57 | 478 | ★ 4.9 | 9 | BULK-9e8bcced |
| 14318 | Bulk Product b1aba29e | Electronics | $739.30 | 465 | ★ 1.2 | 69 | BULK-8ce770b4 |
| 14319 | Bulk Product 3ccaf3c5 | Home & Garden | $344.92 | 469 | ★ 0.5 | 43 | BULK-35c64cc6 |
| 14320 | Bulk Product df3c3a1f | Electronics | $852.41 | 19 | ★ 2.0 | 25 | BULK-c5b6f4e4 |
| 14321 | Bulk Product dd2888c9 | Sports & Outdoors | $445.06 | 371 | ★ 2.8 | 87 | BULK-167525dd |
| 14322 | Bulk Product 3f8024c2 | Home & Garden | $76.98 | 150 | ★ 0.3 | 34 | BULK-7eb66d64 |
| 14323 | Bulk Product 83462046 | Home & Garden | $26.68 | 456 | ★ 4.0 | 2 | BULK-ffb3b600 |
| 14324 | Bulk Product 9237a7db | Home & Garden | $251.20 | 296 | ★ 0.2 | 90 | BULK-23a0fcf2 |
| 14325 | Bulk Product c2f19459 | Clothing | $965.42 | 193 | ★ 4.6 | 80 | BULK-f82a33b5 |
| 14326 | Bulk Product 28919c83 | Books | $140.35 | 100 | ★ 2.9 | 50 | BULK-200e1d08 |
| 14327 | Bulk Product cd3ac135 | Electronics | $857.15 | 433 | ★ 4.7 | 4 | BULK-eff6f532 |
| 14328 | Bulk Product 28dd5d0e | Books | $209.05 | 53 | ★ 2.6 | 14 | BULK-1f73f622 |
| 14329 | Bulk Product 2e138736 | Toys & Games | $923.93 | 436 | ★ 1.6 | 45 | BULK-23a34831 |
| 14330 | Bulk Product 79fb51ab | Electronics | $106.15 | 317 | ★ 2.6 | 57 | BULK-131fd7f2 |
| 14331 | Bulk Product d509047e | Home & Garden | $14.84 | 1 | ★ 0.3 | 53 | BULK-c240fb63 |
| 14332 | Bulk Product 4e62a670 | Books | $166.33 | 203 | ★ 2.9 | 86 | BULK-4b7a7880 |
| 14333 | Bulk Product 8723e606 | Home & Garden | $497.25 | 76 | ★ 4.0 | 1 | BULK-92852b43 |
| 14334 | Bulk Product 956bf2d1 | Toys & Games | $838.51 | 464 | ★ 3.3 | 32 | BULK-8bbd6a2d |
| 14335 | Bulk Product a3aac58f | Sports & Outdoors | $694.50 | 268 | ★ 0.3 | 62 | BULK-0a45b798 |
| 14336 | Bulk Product 89330a05 | Home & Garden | $134.36 | 289 | ★ 3.1 | 17 | BULK-00c62525 |
| 14337 | Bulk Product d3e75388 | Clothing | $633.73 | 332 | ★ 3.4 | 13 | BULK-47cecea6 |
| 14338 | Bulk Product 3c73d183 | Sports & Outdoors | $81.19 | 170 | ★ 3.2 | 1 | BULK-d4ce8094 |
| 14339 | Bulk Product b9a028c6 | Toys & Games | $593.31 | 75 | ★ 0.8 | 97 | BULK-cee64414 |
| 14340 | Bulk Product de48421c | Clothing | $739.76 | 293 | ★ 0.7 | 71 | BULK-0ecc802c |
| 14341 | Bulk Product 23543e4c | Clothing | $264.20 | 181 | ★ 4.2 | 16 | BULK-e2980c45 |
| 14342 | Bulk Product 5a9c651a | Books | $398.41 | 401 | ★ 1.2 | 25 | BULK-a16646be |
| 14343 | Bulk Product 2f282c0f | Toys & Games | $181.30 | 391 | ★ 2.4 | 93 | BULK-c0591823 |
| 14344 | Bulk Product 095ecb83 | Clothing | $76.98 | 122 | ★ 0.5 | 17 | BULK-23cd4360 |
| 14345 | Bulk Product ea0ed0af | Clothing | $543.38 | 40 | ★ 3.0 | 61 | BULK-02f9957d |
| 14346 | Bulk Product 8780906f | Sports & Outdoors | $78.35 | 374 | ★ 3.9 | 38 | BULK-5ebd5cdd |
| 14347 | Bulk Product a5bca5e9 | Toys & Games | $400.59 | 222 | ★ 0.7 | 72 | BULK-42437116 |
| 14348 | Bulk Product 33a45da0 | Books | $127.61 | 98 | ★ 1.5 | 49 | BULK-05e6fc71 |
| 14349 | Bulk Product 0f8b3eed | Books | $990.52 | 228 | ★ 3.2 | 41 | BULK-9f759cac |
| 14350 | Bulk Product a5617437 | Toys & Games | $22.19 | 175 | ★ 1.7 | 37 | BULK-aa809e5a |
| 14351 | Bulk Product 9b6dbc16 | Books | $608.86 | 230 | ★ 2.7 | 35 | BULK-6efc1690 |
| 14352 | Bulk Product 61326b4c | Home & Garden | $487.34 | 444 | ★ 3.2 | 17 | BULK-0a1af15c |
| 14353 | Bulk Product 9048a59a | Books | $867.53 | 147 | ★ 4.6 | 9 | BULK-504134e5 |
| 14354 | Bulk Product e61d68b9 | Books | $521.85 | 9 | ★ 1.5 | 55 | BULK-6e0ffb8e |
| 14355 | Bulk Product 6a3ee23e | Home & Garden | $227.62 | 402 | ★ 4.0 | 97 | BULK-1212e1d5 |
| 14356 | Bulk Product 8dc30a4b | Books | $942.34 | 184 | ★ 3.1 | 52 | BULK-5b907dcc |
| 14357 | Bulk Product e25bc228 | Electronics | $467.13 | 192 | ★ 2.9 | 97 | BULK-215321ec |
| 14358 | Bulk Product 1aa5fec4 | Clothing | $336.56 | 11 | ★ 3.0 | 3 | BULK-a8a522de |
| 14359 | Bulk Product 8cdf2640 | Books | $601.71 | 2 | ★ 2.5 | 64 | BULK-5d9856f3 |
// 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
};
}