Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 15260 | Bulk Product 4da05ff4 | Sports & Outdoors | $754.09 | 344 | ★ 3.3 | 7 | BULK-01ddc871 |
| 15261 | Bulk Product 542fa7c2 | Sports & Outdoors | $482.51 | 212 | ★ 2.7 | 99 | BULK-b9114c06 |
| 15262 | Bulk Product eb25a036 | Books | $508.72 | 398 | ★ 2.8 | 40 | BULK-7df78b1c |
| 15263 | Bulk Product e9d350b4 | Sports & Outdoors | $817.17 | 86 | ★ 4.3 | 74 | BULK-22ae5327 |
| 15264 | Bulk Product 603e8796 | Toys & Games | $228.64 | 237 | ★ 1.1 | 90 | BULK-c652d0cb |
| 15265 | Bulk Product 3e718fdf | Home & Garden | $345.69 | 44 | ★ 2.1 | 23 | BULK-625176b0 |
| 15266 | Bulk Product 89ac36a5 | Books | $350.78 | 165 | ★ 1.4 | 77 | BULK-21f07412 |
| 15267 | Bulk Product e7e86beb | Electronics | $802.41 | 306 | ★ 4.7 | 83 | BULK-fd85144e |
| 15268 | Bulk Product 04fc9589 | Sports & Outdoors | $927.65 | 39 | ★ 2.1 | 28 | BULK-004f7d16 |
| 15269 | Bulk Product 876ac946 | Clothing | $920.74 | 168 | ★ 3.0 | 64 | BULK-4c4d3802 |
| 15270 | Bulk Product 8f5cb732 | Toys & Games | $414.88 | 320 | ★ 0.2 | 16 | BULK-36d7ccd7 |
| 15271 | Bulk Product 75e4cd47 | Clothing | $398.36 | 364 | ★ 2.9 | 17 | BULK-4a09c52a |
| 15272 | Bulk Product baa01173 | Electronics | $71.37 | 225 | ★ 1.6 | 96 | BULK-edce2cc8 |
| 15273 | Bulk Product f94bd48c | Toys & Games | $749.52 | 198 | ★ 2.1 | 69 | BULK-3d3b8949 |
| 15274 | Bulk Product c396b096 | Toys & Games | $186.32 | 325 | ★ 0.3 | 32 | BULK-071982cc |
| 15275 | Bulk Product 07faeaf2 | Home & Garden | $512.38 | 371 | ★ 4.0 | 34 | BULK-c3e92bbe |
| 15276 | Bulk Product 6c8cfdb4 | Home & Garden | $603.83 | 127 | ★ 1.9 | 43 | BULK-78630bc3 |
| 15277 | Bulk Product ed69c6e5 | Home & Garden | $85.34 | 344 | ★ 2.9 | 33 | BULK-ddfe256c |
| 15278 | Bulk Product 4c4c358f | Home & Garden | $515.14 | 286 | ★ 1.3 | 49 | BULK-b2ad5ec2 |
| 15279 | Bulk Product aebe19e6 | Home & Garden | $498.41 | 271 | ★ 3.8 | 92 | BULK-1aab4fcc |
| 15280 | Bulk Product a27d8e61 | Books | $896.36 | 349 | ★ 1.8 | 27 | BULK-2f7d9a52 |
| 15281 | Bulk Product 29a4854c | Toys & Games | $52.88 | 53 | ★ 2.2 | 87 | BULK-0ea49e7a |
| 15282 | Bulk Product 255e61fb | Clothing | $302.75 | 204 | ★ 0.8 | 18 | BULK-5090ad3b |
| 15283 | Bulk Product 67ef212e | Home & Garden | $434.31 | 477 | ★ 1.8 | 37 | BULK-354b9c59 |
| 15284 | Bulk Product 1bb5d3c4 | Toys & Games | $236.95 | 96 | ★ 4.2 | 31 | BULK-9e7e9f96 |
| 15285 | Bulk Product 50371ec0 | Home & Garden | $262.06 | 100 | ★ 3.2 | 48 | BULK-0ba327a1 |
| 15286 | Bulk Product 60cc2537 | Home & Garden | $178.78 | 166 | ★ 1.0 | 7 | BULK-36a60f0f |
| 15287 | Bulk Product 2bf1c0ab | Sports & Outdoors | $83.10 | 384 | ★ 4.2 | 26 | BULK-3edf9748 |
| 15288 | Bulk Product 2c674b42 | Books | $556.66 | 278 | ★ 3.5 | 30 | BULK-dfb8cfa1 |
| 15289 | Bulk Product ffb4c686 | Clothing | $595.71 | 244 | ★ 0.6 | 24 | BULK-bc2b47d3 |
| 15290 | Bulk Product 007d64fe | Toys & Games | $979.86 | 23 | ★ 3.9 | 22 | BULK-81685af7 |
| 15291 | Bulk Product 64d53cc2 | Toys & Games | $780.46 | 48 | ★ 1.4 | 39 | BULK-18cb6d2f |
| 15292 | Bulk Product a6d89f20 | Books | $995.59 | 187 | ★ 0.3 | 65 | BULK-ed341288 |
| 15293 | Bulk Product 3f010dd2 | Electronics | $708.24 | 124 | ★ 4.1 | 79 | BULK-9946af73 |
| 15294 | Bulk Product dbc51369 | Clothing | $21.05 | 36 | ★ 0.5 | 73 | BULK-794f355d |
| 15295 | Bulk Product 87b23161 | Books | $823.97 | 363 | ★ 2.2 | 35 | BULK-cf3974c6 |
| 15296 | Bulk Product 97e1136b | Sports & Outdoors | $501.23 | 216 | ★ 0.0 | 97 | BULK-68e87ac0 |
| 15297 | Bulk Product 567535c6 | Sports & Outdoors | $492.51 | 343 | ★ 1.4 | 14 | BULK-9d1975e1 |
| 15298 | Bulk Product 39fdc905 | Clothing | $491.32 | 271 | ★ 4.6 | 42 | BULK-c1c60028 |
| 15299 | Bulk Product 78415387 | Clothing | $821.45 | 50 | ★ 1.2 | 71 | BULK-df0605d6 |
| 15300 | Bulk Product 9a95f0e4 | Sports & Outdoors | $131.84 | 230 | ★ 4.8 | 82 | BULK-02916bd4 |
| 15301 | Bulk Product b62ad1dd | Sports & Outdoors | $218.04 | 214 | ★ 1.5 | 13 | BULK-dce4049c |
| 15302 | Bulk Product b410523f | Home & Garden | $532.94 | 442 | ★ 4.4 | 37 | BULK-d543b4eb |
| 15303 | Bulk Product faf24a69 | Electronics | $786.09 | 150 | ★ 1.8 | 59 | BULK-f598bfa0 |
| 15304 | Bulk Product f3d1db30 | Electronics | $596.44 | 89 | ★ 1.5 | 28 | BULK-47a4c836 |
| 15305 | Bulk Product b40b8433 | Electronics | $122.02 | 440 | ★ 1.6 | 14 | BULK-9ba305d7 |
| 15306 | Bulk Product daf3ea89 | Clothing | $657.70 | 222 | ★ 2.1 | 1 | BULK-1a924021 |
| 15307 | Bulk Product 636e9722 | Books | $886.56 | 340 | ★ 2.9 | 99 | BULK-cd1e1f26 |
| 15308 | Bulk Product 9997936f | Home & Garden | $885.78 | 481 | ★ 1.1 | 47 | BULK-59756d10 |
| 15309 | Bulk Product 683d6e29 | Clothing | $532.63 | 278 | ★ 2.4 | 45 | BULK-fb1b24cf |
// 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
};
}