Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 13610 | Bulk Product 6db9a6f1 | Toys & Games | $266.68 | 38 | ★ 2.1 | 26 | BULK-b92563a8 |
| 13611 | Bulk Product feb8c1f5 | Home & Garden | $894.39 | 388 | ★ 0.3 | 12 | BULK-35de84b4 |
| 13612 | Bulk Product 11e4d3e1 | Books | $666.88 | 256 | ★ 4.3 | 97 | BULK-976c8025 |
| 13613 | Bulk Product 73917219 | Electronics | $259.08 | 257 | ★ 3.7 | 40 | BULK-681777d3 |
| 13614 | Bulk Product eaa29c4b | Electronics | $521.52 | 60 | ★ 0.2 | 70 | BULK-3b094dda |
| 13615 | Bulk Product 67aa8594 | Home & Garden | $258.63 | 327 | ★ 2.8 | 74 | BULK-6543eb06 |
| 13616 | Bulk Product 86c1eeed | Books | $934.08 | 353 | ★ 4.6 | 61 | BULK-ae0f211e |
| 13617 | Bulk Product bb812d70 | Sports & Outdoors | $239.55 | 22 | ★ 0.8 | 16 | BULK-05c0844f |
| 13618 | Bulk Product 08ec5693 | Toys & Games | $119.08 | 470 | ★ 1.6 | 51 | BULK-87ce391e |
| 13619 | Bulk Product abf3f934 | Electronics | $559.76 | 131 | ★ 4.2 | 7 | BULK-cdd74263 |
| 13620 | Bulk Product 5df7c74e | Sports & Outdoors | $249.37 | 453 | ★ 3.0 | 95 | BULK-326d51d2 |
| 13621 | Bulk Product b97016b2 | Clothing | $27.66 | 66 | ★ 3.1 | 65 | BULK-302a3f8c |
| 13622 | Bulk Product e02fdad8 | Clothing | $991.84 | 370 | ★ 0.3 | 86 | BULK-2e6314f3 |
| 13623 | Bulk Product e91ad5b6 | Sports & Outdoors | $550.17 | 492 | ★ 4.0 | 90 | BULK-85318120 |
| 13624 | Bulk Product 0425dcd0 | Clothing | $413.18 | 415 | ★ 1.9 | 82 | BULK-05ac9f86 |
| 13625 | Bulk Product b57cce92 | Books | $395.49 | 182 | ★ 4.0 | 54 | BULK-466513dd |
| 13626 | Bulk Product b0286463 | Electronics | $921.89 | 155 | ★ 0.1 | 45 | BULK-a33db946 |
| 13627 | Bulk Product a15047d4 | Toys & Games | $443.95 | 182 | ★ 1.7 | 87 | BULK-f15eddc1 |
| 13628 | Bulk Product 8adb44da | Sports & Outdoors | $217.01 | 273 | ★ 1.5 | 97 | BULK-0eadb4b5 |
| 13629 | Bulk Product 32e98332 | Toys & Games | $709.12 | 497 | ★ 1.8 | 48 | BULK-f508f33a |
| 13630 | Bulk Product b7fa58f0 | Toys & Games | $268.31 | 436 | ★ 2.5 | 81 | BULK-e29f3f3e |
| 13631 | Bulk Product 97b49dbf | Home & Garden | $969.35 | 314 | ★ 1.3 | 12 | BULK-77588c11 |
| 13632 | Bulk Product 341ba57f | Clothing | $470.54 | 86 | ★ 0.2 | 72 | BULK-146e9d7d |
| 13633 | Bulk Product 811599b4 | Books | $85.91 | 141 | ★ 4.3 | 88 | BULK-268add49 |
| 13634 | Bulk Product 1c5de4f7 | Books | $362.31 | 290 | ★ 2.7 | 28 | BULK-77a6f54a |
| 13635 | Bulk Product 936b8927 | Toys & Games | $489.14 | 235 | ★ 2.6 | 74 | BULK-314079f4 |
| 13636 | Bulk Product 0b86cadc | Toys & Games | $790.74 | 416 | ★ 3.5 | 14 | BULK-afe87a00 |
| 13637 | Bulk Product 621624a2 | Home & Garden | $959.73 | 428 | ★ 4.7 | 94 | BULK-b4367baf |
| 13638 | Bulk Product 0e3e4602 | Books | $904.28 | 126 | ★ 1.7 | 59 | BULK-cef76fc4 |
| 13639 | Bulk Product 145dd2d8 | Books | $335.61 | 395 | ★ 2.1 | 52 | BULK-78043867 |
| 13640 | Bulk Product af243877 | Electronics | $928.36 | 150 | ★ 2.6 | 3 | BULK-6a4b5fe8 |
| 13641 | Bulk Product 344c7613 | Sports & Outdoors | $328.73 | 364 | ★ 0.5 | 46 | BULK-c76d1896 |
| 13642 | Bulk Product 74d39535 | Electronics | $662.39 | 240 | ★ 3.8 | 30 | BULK-2b9abe44 |
| 13643 | Bulk Product 31dec56c | Toys & Games | $42.47 | 156 | ★ 2.1 | 90 | BULK-56e709e3 |
| 13644 | Bulk Product 6c27f5c1 | Electronics | $904.11 | 384 | ★ 4.5 | 89 | BULK-24813b8e |
| 13645 | Bulk Product 0380c466 | Books | $251.72 | 376 | ★ 3.4 | 87 | BULK-76ff83f5 |
| 13646 | Bulk Product b5f5b981 | Toys & Games | $494.77 | 309 | ★ 1.4 | 31 | BULK-5e2bb279 |
| 13647 | Bulk Product 12596a37 | Sports & Outdoors | $801.51 | 130 | ★ 2.4 | 96 | BULK-7df4276c |
| 13648 | Bulk Product 19814d97 | Clothing | $34.53 | 167 | ★ 4.6 | 22 | BULK-ac496389 |
| 13649 | Bulk Product bf69d92a | Home & Garden | $443.02 | 457 | ★ 4.3 | 57 | BULK-b8138322 |
| 13650 | Bulk Product 7ab8ef53 | Electronics | $374.16 | 229 | ★ 3.2 | 42 | BULK-f3b99f85 |
| 13651 | Bulk Product 93409f55 | Books | $429.28 | 363 | ★ 1.2 | 80 | BULK-668687cc |
| 13652 | Bulk Product 35561690 | Home & Garden | $929.87 | 443 | ★ 5.0 | 60 | BULK-302be892 |
| 13653 | Bulk Product a0985cb0 | Electronics | $617.71 | 128 | ★ 4.3 | 98 | BULK-c66f302d |
| 13654 | Bulk Product f9037fec | Sports & Outdoors | $449.05 | 408 | ★ 5.0 | 26 | BULK-64b03b9c |
| 13655 | Bulk Product 097cde8f | Home & Garden | $245.80 | 190 | ★ 0.2 | 21 | BULK-c9a1b18f |
| 13656 | Bulk Product ee78762c | Home & Garden | $853.14 | 336 | ★ 3.1 | 38 | BULK-d23cd1bd |
| 13657 | Bulk Product ad4ae81f | Books | $719.09 | 465 | ★ 4.8 | 84 | BULK-7e8f149a |
| 13658 | Bulk Product b32ac9d8 | Clothing | $1,002.24 | 370 | ★ 3.7 | 11 | BULK-f90ce6d6 |
| 13659 | Bulk Product 693430da | Books | $509.08 | 24 | ★ 2.3 | 63 | BULK-3ec24e68 |
// 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
};
}