Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 16660 | Bulk Product c5b61fcc | Books | $896.53 | 459 | ★ 2.5 | 54 | BULK-3de72db7 |
| 16661 | Bulk Product e9606d30 | Toys & Games | $789.84 | 217 | ★ 0.2 | 16 | BULK-39db35ba |
| 16662 | Bulk Product 7e1c62d7 | Electronics | $917.74 | 220 | ★ 3.0 | 82 | BULK-336dba3b |
| 16663 | Bulk Product f48c3123 | Clothing | $839.64 | 52 | ★ 0.5 | 72 | BULK-30c0cf6a |
| 16664 | Bulk Product 1e7eb8aa | Books | $163.21 | 307 | ★ 3.1 | 80 | BULK-3669c7a1 |
| 16665 | Bulk Product c642016b | Electronics | $111.39 | 271 | ★ 2.8 | 29 | BULK-d8e2b28b |
| 16666 | Bulk Product 11608499 | Electronics | $129.64 | 22 | ★ 2.3 | 22 | BULK-c89308ab |
| 16667 | Bulk Product fed9b427 | Clothing | $957.56 | 368 | ★ 3.3 | 14 | BULK-706b9e8a |
| 16668 | Bulk Product aa2b6c68 | Home & Garden | $30.65 | 32 | ★ 0.3 | 41 | BULK-4555ee5b |
| 16669 | Bulk Product 77c33cc4 | Books | $605.14 | 312 | ★ 4.1 | 4 | BULK-43ef9cc1 |
| 16670 | Bulk Product 54261010 | Electronics | $133.13 | 35 | ★ 4.2 | 73 | BULK-71a3b70b |
| 16671 | Bulk Product 258158e1 | Electronics | $659.45 | 234 | ★ 3.1 | 84 | BULK-a9c9faab |
| 16672 | Bulk Product 548cdce5 | Books | $783.71 | 393 | ★ 0.1 | 87 | BULK-edbaffef |
| 16673 | Bulk Product 881bf4eb | Home & Garden | $517.45 | 150 | ★ 0.9 | 86 | BULK-8e75bca4 |
| 16674 | Bulk Product 16bea34b | Sports & Outdoors | $449.18 | 62 | ★ 2.6 | 46 | BULK-26df29e9 |
| 16675 | Bulk Product cb52dfe2 | Toys & Games | $569.01 | 338 | ★ 3.6 | 63 | BULK-839977b8 |
| 16676 | Bulk Product 3c16b734 | Electronics | $585.23 | 437 | ★ 0.6 | 65 | BULK-27d39ec0 |
| 16677 | Bulk Product 25e56852 | Books | $223.02 | 225 | ★ 3.0 | 71 | BULK-87e4739a |
| 16678 | Bulk Product b2f305c6 | Toys & Games | $705.23 | 498 | ★ 4.3 | 51 | BULK-22c4cea3 |
| 16679 | Bulk Product 2f51e2a8 | Home & Garden | $829.38 | 86 | ★ 0.7 | 92 | BULK-2da7868c |
| 16680 | Bulk Product 0c2dfa33 | Clothing | $67.70 | 80 | ★ 4.1 | 68 | BULK-b686516b |
| 16681 | Bulk Product 8bdf3520 | Books | $408.85 | 174 | ★ 3.0 | 95 | BULK-3da734eb |
| 16682 | Bulk Product b5db39ee | Electronics | $808.83 | 92 | ★ 3.2 | 46 | BULK-dc82097e |
| 16683 | Bulk Product 5d020423 | Books | $945.29 | 478 | ★ 0.6 | 95 | BULK-b7320380 |
| 16684 | Bulk Product d093b545 | Electronics | $15.25 | 278 | ★ 4.2 | 93 | BULK-74ee74d4 |
| 16685 | Bulk Product 7f901b17 | Sports & Outdoors | $448.41 | 252 | ★ 1.5 | 89 | BULK-ad156008 |
| 16686 | Bulk Product af3ef6de | Home & Garden | $381.57 | 452 | ★ 0.6 | 42 | BULK-0cd62644 |
| 16687 | Bulk Product 57c87b1d | Books | $458.11 | 174 | ★ 0.2 | 77 | BULK-513b9836 |
| 16688 | Bulk Product c777d845 | Sports & Outdoors | $802.56 | 215 | ★ 0.5 | 49 | BULK-61e517e5 |
| 16689 | Bulk Product 01900faa | Toys & Games | $109.60 | 164 | ★ 0.6 | 91 | BULK-7effc735 |
| 16690 | Bulk Product eabff08f | Home & Garden | $926.31 | 240 | ★ 4.8 | 21 | BULK-40eb67ff |
| 16691 | Bulk Product 11ed9764 | Home & Garden | $596.68 | 95 | ★ 0.7 | 13 | BULK-7649b15d |
| 16692 | Bulk Product c377684d | Books | $469.30 | 428 | ★ 0.3 | 42 | BULK-33d6e566 |
| 16693 | Bulk Product b3a4116d | Electronics | $670.86 | 425 | ★ 3.1 | 94 | BULK-4b6dd900 |
| 16694 | Bulk Product f2e49313 | Toys & Games | $27.62 | 69 | ★ 4.2 | 14 | BULK-a9506fd7 |
| 16695 | Bulk Product f60cf8c6 | Toys & Games | $760.06 | 87 | ★ 4.8 | 26 | BULK-12c116f0 |
| 16696 | Bulk Product 38098420 | Home & Garden | $761.12 | 405 | ★ 5.0 | 11 | BULK-16a23dee |
| 16697 | Bulk Product 072c3e02 | Home & Garden | $458.52 | 497 | ★ 2.2 | 95 | BULK-393e78b4 |
| 16698 | Bulk Product 68118c74 | Clothing | $605.91 | 219 | ★ 1.0 | 55 | BULK-ff076545 |
| 16699 | Bulk Product 78b7c297 | Books | $509.20 | 394 | ★ 2.9 | 48 | BULK-14eee5e5 |
| 16700 | Bulk Product bdc9da9d | Books | $425.84 | 36 | ★ 1.9 | 17 | BULK-ac094fbf |
| 16701 | Bulk Product aedcd171 | Home & Garden | $123.66 | 193 | ★ 4.7 | 86 | BULK-ee017195 |
| 16702 | Bulk Product a189627c | Clothing | $714.56 | 217 | ★ 3.4 | 67 | BULK-9892ef76 |
| 16703 | Bulk Product 31885c8f | Sports & Outdoors | $37.72 | 91 | ★ 3.9 | 50 | BULK-023d5575 |
| 16704 | Bulk Product 66eaa48e | Electronics | $960.45 | 231 | ★ 5.0 | 27 | BULK-d1e92cca |
| 16705 | Bulk Product 3c83b626 | Books | $779.65 | 291 | ★ 1.3 | 60 | BULK-f8cbea08 |
| 16706 | Bulk Product 2315279c | Clothing | $643.05 | 126 | ★ 2.6 | 14 | BULK-dd17d761 |
| 16707 | Bulk Product 97b29403 | Books | $858.41 | 106 | ★ 2.5 | 9 | BULK-8225e803 |
| 16708 | Bulk Product 334b35fe | Sports & Outdoors | $867.91 | 493 | ★ 2.3 | 61 | BULK-97ba2307 |
| 16709 | Bulk Product 248e6573 | Toys & Games | $375.43 | 185 | ★ 3.0 | 70 | BULK-9a7ebabb |
// 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
};
}