Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 19310 | Bulk Product 1e106800 | Toys & Games | $875.75 | 291 | ★ 1.3 | 87 | BULK-7b63f045 |
| 19311 | Bulk Product 2982ae78 | Toys & Games | $69.58 | 302 | ★ 0.7 | 29 | BULK-d89f3933 |
| 19312 | Bulk Product 70bdfab3 | Electronics | $848.00 | 388 | ★ 4.7 | 88 | BULK-28de7827 |
| 19313 | Bulk Product f64ae537 | Electronics | $24.47 | 210 | ★ 1.6 | 47 | BULK-07d9cb73 |
| 19314 | Bulk Product 7d0d8ce1 | Toys & Games | $417.85 | 436 | ★ 4.1 | 45 | BULK-bfb13002 |
| 19315 | Bulk Product a7576fca | Home & Garden | $96.75 | 317 | ★ 1.6 | 11 | BULK-1b131329 |
| 19316 | Bulk Product 3effc9bf | Clothing | $912.04 | 89 | ★ 4.2 | 79 | BULK-ab07fd24 |
| 19317 | Bulk Product 41c8a2e0 | Books | $96.21 | 323 | ★ 3.6 | 89 | BULK-968b3e6b |
| 19318 | Bulk Product 54aacf4b | Books | $126.22 | 128 | ★ 2.1 | 5 | BULK-46bcf1da |
| 19319 | Bulk Product d53c2755 | Toys & Games | $218.07 | 11 | ★ 3.0 | 30 | BULK-aab3e2cc |
| 19320 | Bulk Product 40ee2bea | Toys & Games | $98.28 | 43 | ★ 4.3 | 23 | BULK-1e522f22 |
| 19321 | Bulk Product 9ffd640c | Home & Garden | $406.23 | 211 | ★ 0.4 | 62 | BULK-6735da0a |
| 19322 | Bulk Product 5e861eeb | Electronics | $136.04 | 23 | ★ 3.8 | 65 | BULK-1a2be0b9 |
| 19323 | Bulk Product 114e07bf | Electronics | $166.57 | 377 | ★ 3.5 | 93 | BULK-7d146d2c |
| 19324 | Bulk Product 5ae88021 | Home & Garden | $474.17 | 286 | ★ 1.5 | 40 | BULK-f7ba1ad1 |
| 19325 | Bulk Product 47ca47b4 | Books | $856.91 | 227 | ★ 1.4 | 15 | BULK-6653fee5 |
| 19326 | Bulk Product dd0520c3 | Books | $251.35 | 67 | ★ 4.6 | 34 | BULK-f3cbf2fd |
| 19327 | Bulk Product 50d97b9e | Clothing | $514.26 | 489 | ★ 2.5 | 45 | BULK-96b6cd4b |
| 19328 | Bulk Product 5b79daab | Toys & Games | $637.83 | 489 | ★ 2.9 | 13 | BULK-3617234a |
| 19329 | Bulk Product 5da0a2c7 | Toys & Games | $362.56 | 362 | ★ 3.1 | 0 | BULK-1697fb56 |
| 19330 | Bulk Product ebfa47d1 | Electronics | $492.37 | 131 | ★ 0.1 | 25 | BULK-ef8836ed |
| 19331 | Bulk Product d1852358 | Books | $262.54 | 394 | ★ 1.0 | 28 | BULK-bf48a542 |
| 19332 | Bulk Product 038574b8 | Sports & Outdoors | $933.80 | 43 | ★ 4.7 | 40 | BULK-6a4c749f |
| 19333 | Bulk Product 32c77881 | Sports & Outdoors | $185.91 | 63 | ★ 2.5 | 77 | BULK-7f499c03 |
| 19334 | Bulk Product e3174598 | Books | $458.47 | 145 | ★ 3.8 | 77 | BULK-b874d6a7 |
| 19335 | Bulk Product e99126b8 | Sports & Outdoors | $727.95 | 92 | ★ 0.9 | 44 | BULK-ea810a6a |
| 19336 | Bulk Product c8e975a1 | Home & Garden | $296.56 | 387 | ★ 1.2 | 51 | BULK-ba02fd88 |
| 19337 | Bulk Product 7b215477 | Sports & Outdoors | $983.18 | 49 | ★ 4.2 | 35 | BULK-0847c84b |
| 19338 | Bulk Product 731f2bcc | Electronics | $752.67 | 158 | ★ 5.0 | 57 | BULK-3b54e1cc |
| 19339 | Bulk Product eac296dd | Clothing | $266.98 | 107 | ★ 4.5 | 6 | BULK-95cd3072 |
| 19340 | Bulk Product 1031b69c | Sports & Outdoors | $846.20 | 414 | ★ 2.6 | 48 | BULK-d8bdd197 |
| 19341 | Bulk Product 924b8871 | Electronics | $889.09 | 188 | ★ 2.1 | 82 | BULK-bfaf0997 |
| 19342 | Bulk Product 2f10bf25 | Clothing | $185.88 | 132 | ★ 0.8 | 83 | BULK-e7c6fc05 |
| 19343 | Bulk Product 45682556 | Books | $351.67 | 400 | ★ 4.1 | 98 | BULK-703f007b |
| 19344 | Bulk Product b8aedc84 | Books | $854.97 | 294 | ★ 3.5 | 79 | BULK-74fd7126 |
| 19345 | Bulk Product acb25af9 | Toys & Games | $352.96 | 124 | ★ 3.6 | 0 | BULK-b57513aa |
| 19346 | Bulk Product 657ebab0 | Toys & Games | $719.94 | 59 | ★ 3.4 | 0 | BULK-c9260012 |
| 19347 | Bulk Product 0617fbd3 | Clothing | $911.04 | 493 | ★ 4.9 | 33 | BULK-5420bbb5 |
| 19348 | Bulk Product 845b3b6f | Sports & Outdoors | $341.45 | 396 | ★ 0.3 | 10 | BULK-08b74176 |
| 19349 | Bulk Product 9e0dccba | Electronics | $101.47 | 44 | ★ 4.9 | 62 | BULK-fc153e8f |
| 19350 | Bulk Product a7895795 | Toys & Games | $881.81 | 100 | ★ 2.1 | 90 | BULK-de33558f |
| 19351 | Bulk Product 26093258 | Electronics | $634.89 | 145 | ★ 3.5 | 13 | BULK-5ff7cfa0 |
| 19352 | Bulk Product 6c2d98d1 | Books | $745.57 | 164 | ★ 3.3 | 73 | BULK-fc44d578 |
| 19353 | Bulk Product c4313c82 | Electronics | $927.41 | 157 | ★ 1.8 | 56 | BULK-fb558958 |
| 19354 | Bulk Product cde8d0c8 | Electronics | $875.30 | 269 | ★ 3.8 | 33 | BULK-ac072423 |
| 19355 | Bulk Product ecde3585 | Home & Garden | $816.20 | 25 | ★ 1.5 | 76 | BULK-20cdf4e0 |
| 19356 | Bulk Product fdf8e536 | Toys & Games | $569.05 | 36 | ★ 2.6 | 22 | BULK-9a5574e3 |
| 19357 | Bulk Product 44249a34 | Home & Garden | $750.73 | 39 | ★ 2.5 | 88 | BULK-9cc0f623 |
| 19358 | Bulk Product a4e99ebc | Electronics | $805.30 | 38 | ★ 3.4 | 80 | BULK-67e4ff4f |
| 19359 | Bulk Product 52da43e3 | Clothing | $659.47 | 464 | ★ 3.9 | 4 | BULK-853488fb |
// 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
};
}