Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 19410 | Bulk Product 20e58f26 | Books | $746.56 | 499 | ★ 3.4 | 2 | BULK-477b83fe |
| 19411 | Bulk Product 15fa61b4 | Books | $850.94 | 347 | ★ 0.9 | 38 | BULK-fb4a4bc4 |
| 19412 | Bulk Product adc15006 | Sports & Outdoors | $757.78 | 386 | ★ 5.0 | 93 | BULK-3137aa33 |
| 19413 | Bulk Product c5f41cd5 | Sports & Outdoors | $436.54 | 283 | ★ 1.7 | 77 | BULK-ce44f618 |
| 19414 | Bulk Product 3a725879 | Electronics | $804.62 | 415 | ★ 0.2 | 18 | BULK-460ee21f |
| 19415 | Bulk Product 15cd0e9d | Home & Garden | $866.93 | 232 | ★ 0.5 | 93 | BULK-7751214f |
| 19416 | Bulk Product 93b0c0b6 | Home & Garden | $383.33 | 190 | ★ 0.7 | 90 | BULK-6d252545 |
| 19417 | Bulk Product c602f787 | Sports & Outdoors | $783.95 | 295 | ★ 2.9 | 71 | BULK-103375ba |
| 19418 | Bulk Product 0fea1d20 | Toys & Games | $877.99 | 442 | ★ 0.0 | 7 | BULK-30219e4d |
| 19419 | Bulk Product ab901e6b | Books | $213.08 | 119 | ★ 1.7 | 45 | BULK-f90c6dd4 |
| 19420 | Bulk Product 0d88f245 | Clothing | $257.92 | 344 | ★ 4.8 | 13 | BULK-16dcb870 |
| 19421 | Bulk Product 2bc1617d | Clothing | $988.84 | 352 | ★ 3.6 | 78 | BULK-a3edd2f7 |
| 19422 | Bulk Product 9299da50 | Clothing | $390.28 | 145 | ★ 0.4 | 61 | BULK-6345bd9f |
| 19423 | Bulk Product 2f42b4f8 | Electronics | $142.81 | 249 | ★ 4.1 | 71 | BULK-923e9fd1 |
| 19424 | Bulk Product d55ef77f | Toys & Games | $789.73 | 56 | ★ 2.6 | 66 | BULK-3a3e7917 |
| 19425 | Bulk Product 0a6557af | Home & Garden | $823.58 | 477 | ★ 4.4 | 86 | BULK-b267578f |
| 19426 | Bulk Product ffa9e04e | Clothing | $906.32 | 309 | ★ 2.8 | 42 | BULK-300ead48 |
| 19427 | Bulk Product e3fda901 | Toys & Games | $74.68 | 305 | ★ 1.1 | 32 | BULK-b9bbb22d |
| 19428 | Bulk Product e1bdf499 | Toys & Games | $60.11 | 267 | ★ 4.3 | 58 | BULK-cf03d9c7 |
| 19429 | Bulk Product 7dad3851 | Home & Garden | $660.22 | 24 | ★ 1.0 | 70 | BULK-1a653131 |
| 19430 | Bulk Product 960c77fd | Books | $349.81 | 354 | ★ 0.4 | 18 | BULK-2675ec1c |
| 19431 | Bulk Product 46812038 | Books | $100.48 | 457 | ★ 1.6 | 34 | BULK-c50de280 |
| 19432 | Bulk Product b671f9aa | Sports & Outdoors | $647.33 | 279 | ★ 1.3 | 53 | BULK-ca262a76 |
| 19433 | Bulk Product 33cebf62 | Books | $16.44 | 176 | ★ 3.0 | 32 | BULK-78223256 |
| 19434 | Bulk Product 2beba750 | Sports & Outdoors | $879.59 | 433 | ★ 4.1 | 26 | BULK-c86ce204 |
| 19435 | Bulk Product 5ac0ac17 | Sports & Outdoors | $574.55 | 3 | ★ 2.1 | 18 | BULK-3f65f702 |
| 19436 | Bulk Product 48a2b252 | Books | $694.58 | 338 | ★ 1.2 | 76 | BULK-2671a372 |
| 19437 | Bulk Product c8a418bb | Clothing | $266.23 | 38 | ★ 3.7 | 74 | BULK-7f02a155 |
| 19438 | Bulk Product bcc9b063 | Books | $995.41 | 136 | ★ 1.5 | 78 | BULK-708bfb9d |
| 19439 | Bulk Product 300c8bbf | Toys & Games | $854.69 | 235 | ★ 4.4 | 50 | BULK-4b07bec4 |
| 19440 | Bulk Product 8f31d760 | Toys & Games | $702.33 | 367 | ★ 2.6 | 54 | BULK-85176c6d |
| 19441 | Bulk Product 5d65544e | Electronics | $477.50 | 211 | ★ 1.5 | 13 | BULK-ec393af9 |
| 19442 | Bulk Product a417383d | Sports & Outdoors | $799.07 | 265 | ★ 0.1 | 5 | BULK-b9a4d574 |
| 19443 | Bulk Product 40eb98d3 | Books | $625.64 | 169 | ★ 1.6 | 4 | BULK-673a0e7f |
| 19444 | Bulk Product acd3118b | Home & Garden | $514.73 | 164 | ★ 3.2 | 60 | BULK-6d634ed5 |
| 19445 | Bulk Product 5eb31aa7 | Home & Garden | $326.87 | 280 | ★ 1.2 | 57 | BULK-b5943d67 |
| 19446 | Bulk Product 63d9ac5e | Home & Garden | $718.77 | 376 | ★ 4.0 | 4 | BULK-47e3d865 |
| 19447 | Bulk Product aa1e10ec | Sports & Outdoors | $387.52 | 250 | ★ 2.0 | 57 | BULK-979e3cee |
| 19448 | Bulk Product f93449c0 | Sports & Outdoors | $339.08 | 336 | ★ 4.0 | 51 | BULK-5b92132b |
| 19449 | Bulk Product 1a19e987 | Electronics | $561.37 | 260 | ★ 0.3 | 26 | BULK-fe11ce1d |
| 19450 | Bulk Product 0f4717bf | Clothing | $501.83 | 64 | ★ 5.0 | 15 | BULK-afb17ab6 |
| 19451 | Bulk Product cc173dff | Clothing | $18.23 | 422 | ★ 3.2 | 84 | BULK-c709594b |
| 19452 | Bulk Product b322396a | Clothing | $156.76 | 275 | ★ 3.6 | 60 | BULK-a81c77e9 |
| 19453 | Bulk Product 03c9bdd2 | Electronics | $967.64 | 152 | ★ 4.9 | 45 | BULK-913a18a1 |
| 19454 | Bulk Product a7c44de2 | Books | $515.05 | 297 | ★ 0.5 | 3 | BULK-9bfb73ae |
| 19455 | Bulk Product 988e1fb9 | Sports & Outdoors | $288.63 | 493 | ★ 3.5 | 88 | BULK-28da6102 |
| 19456 | Bulk Product b88bd294 | Sports & Outdoors | $806.16 | 489 | ★ 4.5 | 46 | BULK-056c36f2 |
| 19457 | Bulk Product be7c5bba | Toys & Games | $981.08 | 51 | ★ 0.4 | 29 | BULK-355cc634 |
| 19458 | Bulk Product b9c6cd74 | Sports & Outdoors | $467.72 | 142 | ★ 3.9 | 39 | BULK-3de77894 |
| 19459 | Bulk Product 22aaa222 | Home & Garden | $189.78 | 345 | ★ 1.6 | 59 | BULK-7d567eb2 |
// 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
};
}