Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 7210 | Bulk Product 6ea441a4 | Toys & Games | $678.49 | 459 | ★ 3.6 | 14 | BULK-a8071843 |
| 7211 | Bulk Product 67a7f51a | Clothing | $529.04 | 281 | ★ 4.5 | 96 | BULK-898a324f |
| 7212 | Bulk Product 63d2b484 | Sports & Outdoors | $999.59 | 132 | ★ 2.0 | 63 | BULK-faa25a33 |
| 7213 | Bulk Product 4efc919e | Sports & Outdoors | $577.74 | 106 | ★ 0.3 | 14 | BULK-339d3f9c |
| 7214 | Bulk Product 515df6be | Home & Garden | $69.98 | 376 | ★ 4.6 | 79 | BULK-0556d483 |
| 7215 | Bulk Product 67c98e5f | Books | $614.54 | 477 | ★ 2.0 | 29 | BULK-9deae44a |
| 7216 | Bulk Product 7f32b2b9 | Clothing | $227.51 | 423 | ★ 2.5 | 91 | BULK-9c3e9efb |
| 7217 | Bulk Product fd5eb6f5 | Home & Garden | $524.87 | 317 | ★ 0.1 | 8 | BULK-abfa513a |
| 7218 | Bulk Product d627089c | Home & Garden | $314.38 | 284 | ★ 2.9 | 18 | BULK-62bc1e93 |
| 7219 | Bulk Product 62d28b13 | Toys & Games | $347.36 | 27 | ★ 4.4 | 81 | BULK-91aca275 |
| 7220 | Bulk Product 5dc07a5c | Electronics | $218.94 | 298 | ★ 2.6 | 97 | BULK-fb29a91a |
| 7221 | Bulk Product 9101c0b8 | Toys & Games | $625.12 | 24 | ★ 0.6 | 53 | BULK-1a7c70de |
| 7222 | Bulk Product 4da6cc14 | Books | $110.56 | 327 | ★ 4.9 | 79 | BULK-56e2c569 |
| 7223 | Bulk Product 231f1333 | Home & Garden | $22.53 | 164 | ★ 2.8 | 2 | BULK-2b2f4417 |
| 7224 | Bulk Product fe7d7aee | Electronics | $971.78 | 143 | ★ 2.7 | 84 | BULK-9870311f |
| 7225 | Bulk Product e533ffee | Sports & Outdoors | $112.77 | 313 | ★ 0.2 | 2 | BULK-dbe04627 |
| 7226 | Bulk Product 2fad2460 | Home & Garden | $190.89 | 402 | ★ 4.9 | 61 | BULK-4a41c9fa |
| 7227 | Bulk Product ae580296 | Home & Garden | $551.22 | 233 | ★ 0.1 | 5 | BULK-f3b127f7 |
| 7228 | Bulk Product 55f51f1c | Electronics | $806.99 | 120 | ★ 1.1 | 29 | BULK-b854f7a6 |
| 7229 | Bulk Product 9e2a6623 | Books | $601.73 | 44 | ★ 0.1 | 73 | BULK-4ecdc706 |
| 7230 | Bulk Product fa6179b3 | Home & Garden | $524.24 | 216 | ★ 4.2 | 55 | BULK-badbc189 |
| 7231 | Bulk Product 8e6d1f0d | Clothing | $414.74 | 325 | ★ 3.9 | 85 | BULK-29ced2e1 |
| 7232 | Bulk Product 2853ea54 | Electronics | $966.76 | 490 | ★ 1.6 | 77 | BULK-c1607561 |
| 7233 | Bulk Product 0273f0e2 | Toys & Games | $517.83 | 338 | ★ 4.7 | 34 | BULK-c61a2836 |
| 7234 | Bulk Product 7fc32fa8 | Clothing | $296.09 | 302 | ★ 1.1 | 27 | BULK-832c4a86 |
| 7235 | Bulk Product ad3b58af | Electronics | $177.60 | 298 | ★ 3.4 | 5 | BULK-f3faaae8 |
| 7236 | Bulk Product a2a593ad | Toys & Games | $521.40 | 443 | ★ 3.0 | 65 | BULK-8b87a999 |
| 7237 | Bulk Product b17b01bf | Electronics | $430.76 | 127 | ★ 3.1 | 2 | BULK-74d5edb9 |
| 7238 | Bulk Product 6b2aaa6c | Toys & Games | $421.50 | 417 | ★ 2.6 | 32 | BULK-71de173b |
| 7239 | Bulk Product f171ea50 | Electronics | $1,009.87 | 405 | ★ 4.5 | 59 | BULK-adb20717 |
| 7240 | Bulk Product e046bd39 | Electronics | $986.63 | 125 | ★ 4.6 | 19 | BULK-a1c5522d |
| 7241 | Bulk Product c085caa9 | Toys & Games | $134.60 | 169 | ★ 1.4 | 61 | BULK-3b534bb4 |
| 7242 | Bulk Product 0158273a | Sports & Outdoors | $730.41 | 316 | ★ 2.3 | 18 | BULK-abc67375 |
| 7243 | Bulk Product db9bfc04 | Toys & Games | $501.79 | 116 | ★ 3.2 | 7 | BULK-de4d9243 |
| 7244 | Bulk Product 735f7768 | Clothing | $652.89 | 163 | ★ 2.8 | 6 | BULK-5a9811af |
| 7245 | Bulk Product 73475ce4 | Home & Garden | $760.82 | 325 | ★ 3.1 | 4 | BULK-f474a1e8 |
| 7246 | Bulk Product 670d551c | Electronics | $301.74 | 445 | ★ 3.0 | 98 | BULK-339a6f41 |
| 7247 | Bulk Product 2a29deb4 | Sports & Outdoors | $475.49 | 30 | ★ 3.8 | 55 | BULK-64d5df19 |
| 7248 | Bulk Product d45ede60 | Electronics | $445.76 | 41 | ★ 2.1 | 49 | BULK-dd58844e |
| 7249 | Bulk Product 84db5c30 | Home & Garden | $362.57 | 122 | ★ 0.2 | 14 | BULK-aca0558d |
| 7250 | Bulk Product d638bf75 | Sports & Outdoors | $80.87 | 302 | ★ 0.5 | 83 | BULK-ef6b6f7c |
| 7251 | Bulk Product 58209a90 | Electronics | $593.42 | 395 | ★ 4.1 | 63 | BULK-9b31089f |
| 7252 | Bulk Product b3a7ae7e | Books | $55.38 | 66 | ★ 0.8 | 88 | BULK-ad88e5a5 |
| 7253 | Bulk Product eca4d5c1 | Home & Garden | $353.13 | 27 | ★ 3.4 | 52 | BULK-860bb77d |
| 7254 | Bulk Product 9f67be7c | Toys & Games | $515.54 | 180 | ★ 2.2 | 19 | BULK-33cd11f9 |
| 7255 | Bulk Product 62e46711 | Home & Garden | $290.44 | 170 | ★ 2.9 | 57 | BULK-6f5924bd |
| 7256 | Bulk Product e3fdda11 | Sports & Outdoors | $824.75 | 26 | ★ 2.0 | 20 | BULK-44d076a0 |
| 7257 | Bulk Product 1b10f579 | Toys & Games | $54.65 | 95 | ★ 4.6 | 49 | BULK-3b28490a |
| 7258 | Bulk Product f49dfc66 | Clothing | $477.05 | 148 | ★ 4.6 | 10 | BULK-71dc7c64 |
| 7259 | Bulk Product d1670cc1 | Toys & Games | $768.14 | 92 | ★ 2.1 | 69 | BULK-2e0a0311 |
// 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
};
}