Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 23710 | Bulk Product f1010f3e | Home & Garden | $267.69 | 161 | ★ 2.0 | 81 | BULK-8a1c4bb9 |
| 23711 | Bulk Product 4cdb7fae | Toys & Games | $745.80 | 107 | ★ 2.8 | 54 | BULK-77303aa7 |
| 23712 | Bulk Product 380a0009 | Sports & Outdoors | $496.40 | 173 | ★ 4.5 | 99 | BULK-c6acdcb8 |
| 23713 | Bulk Product 95cde1cb | Books | $545.86 | 410 | ★ 5.0 | 39 | BULK-8847b769 |
| 23714 | Bulk Product 34ac1c94 | Books | $192.78 | 339 | ★ 1.2 | 53 | BULK-1a7fd920 |
| 23715 | Bulk Product 7f4d9c9f | Electronics | $116.17 | 159 | ★ 3.0 | 61 | BULK-e1945842 |
| 23716 | Bulk Product 94ce9338 | Books | $166.13 | 123 | ★ 0.1 | 69 | BULK-28f92afc |
| 23717 | Bulk Product e33347a1 | Clothing | $822.53 | 95 | ★ 2.3 | 84 | BULK-36eff8b6 |
| 23718 | Bulk Product 96863541 | Home & Garden | $763.44 | 391 | ★ 1.8 | 11 | BULK-632934da |
| 23719 | Bulk Product f68e44cd | Home & Garden | $366.58 | 237 | ★ 4.7 | 52 | BULK-7454a0c6 |
| 23720 | Bulk Product a4140096 | Toys & Games | $230.41 | 445 | ★ 3.4 | 75 | BULK-bd34f070 |
| 23721 | Bulk Product 6c85a099 | Home & Garden | $586.03 | 73 | ★ 2.4 | 99 | BULK-d6011e3f |
| 23722 | Bulk Product 4bed1d9a | Sports & Outdoors | $406.97 | 418 | ★ 2.9 | 69 | BULK-1ae9397a |
| 23723 | Bulk Product da847abf | Electronics | $813.66 | 183 | ★ 4.8 | 25 | BULK-dc3b4b5c |
| 23724 | Bulk Product 02e01baa | Electronics | $576.22 | 468 | ★ 1.1 | 14 | BULK-c90d473f |
| 23725 | Bulk Product af5494ab | Home & Garden | $878.51 | 476 | ★ 0.8 | 97 | BULK-69d1196e |
| 23726 | Bulk Product da38341b | Home & Garden | $439.18 | 20 | ★ 4.7 | 53 | BULK-6cdd9970 |
| 23727 | Bulk Product 366db0be | Books | $559.88 | 145 | ★ 3.9 | 32 | BULK-6db0c19b |
| 23728 | Bulk Product f4880e53 | Electronics | $468.54 | 161 | ★ 1.6 | 98 | BULK-ea10a1de |
| 23729 | Bulk Product 9d0f58ba | Sports & Outdoors | $282.80 | 398 | ★ 0.4 | 78 | BULK-e06b4a18 |
| 23730 | Bulk Product a3add003 | Electronics | $29.03 | 309 | ★ 3.4 | 23 | BULK-fe323cf2 |
| 23731 | Bulk Product b9f98892 | Toys & Games | $550.73 | 478 | ★ 3.5 | 60 | BULK-96bfa6da |
| 23732 | Bulk Product 674ac232 | Electronics | $154.04 | 168 | ★ 2.0 | 98 | BULK-55f648a0 |
| 23733 | Bulk Product 7039d347 | Toys & Games | $852.93 | 309 | ★ 1.5 | 20 | BULK-c43e626c |
| 23734 | Bulk Product 3be93715 | Electronics | $317.29 | 414 | ★ 3.0 | 89 | BULK-1842e8ef |
| 23735 | Bulk Product 92c6e7e3 | Home & Garden | $799.10 | 451 | ★ 1.8 | 46 | BULK-6431d3c8 |
| 23736 | Bulk Product f5c69625 | Home & Garden | $255.24 | 38 | ★ 4.8 | 71 | BULK-254ccc6e |
| 23737 | Bulk Product c143e8e8 | Electronics | $992.02 | 49 | ★ 3.1 | 44 | BULK-dcc673ef |
| 23738 | Bulk Product 09fa9942 | Clothing | $766.53 | 446 | ★ 0.1 | 3 | BULK-a6b67e77 |
| 23739 | Bulk Product 114b9b5e | Books | $652.80 | 190 | ★ 2.3 | 78 | BULK-aea9264b |
| 23740 | Bulk Product 88193171 | Home & Garden | $898.75 | 350 | ★ 4.3 | 71 | BULK-c5dccae7 |
| 23741 | Bulk Product 6fc6bf08 | Books | $359.73 | 495 | ★ 2.2 | 62 | BULK-2c54b973 |
| 23742 | Bulk Product 427bc773 | Sports & Outdoors | $635.85 | 407 | ★ 0.9 | 63 | BULK-12c5e01c |
| 23743 | Bulk Product f74f0520 | Home & Garden | $829.80 | 108 | ★ 3.3 | 13 | BULK-7f9933e3 |
| 23744 | Bulk Product d868e819 | Home & Garden | $336.80 | 382 | ★ 4.4 | 33 | BULK-c1f685b1 |
| 23745 | Bulk Product 1b18b154 | Clothing | $25.20 | 62 | ★ 1.4 | 36 | BULK-4d5d6345 |
| 23746 | Bulk Product b5dc6df9 | Sports & Outdoors | $885.35 | 257 | ★ 1.6 | 43 | BULK-2b9d9969 |
| 23747 | Bulk Product 98d9e4e6 | Clothing | $316.37 | 473 | ★ 0.6 | 43 | BULK-2ed35605 |
| 23748 | Bulk Product c4156d4d | Sports & Outdoors | $370.16 | 100 | ★ 3.6 | 89 | BULK-3ff454e1 |
| 23749 | Bulk Product 7e164bbc | Home & Garden | $871.98 | 164 | ★ 2.9 | 86 | BULK-c88d1e2e |
| 23750 | Bulk Product 595a6555 | Clothing | $622.65 | 66 | ★ 0.2 | 80 | BULK-19077ec4 |
| 23751 | Bulk Product 4ea50db7 | Toys & Games | $769.02 | 345 | ★ 2.9 | 18 | BULK-9276eb66 |
| 23752 | Bulk Product 03677ae3 | Clothing | $138.39 | 220 | ★ 2.9 | 37 | BULK-8b58613f |
| 23753 | Bulk Product 6fc85bde | Books | $764.88 | 82 | ★ 1.5 | 88 | BULK-6da2ad1d |
| 23754 | Bulk Product 46555881 | Toys & Games | $104.02 | 333 | ★ 4.4 | 13 | BULK-fb354576 |
| 23755 | Bulk Product 1681b9cb | Clothing | $705.41 | 457 | ★ 2.5 | 86 | BULK-1ff29bd2 |
| 23756 | Bulk Product f0941a01 | Sports & Outdoors | $982.31 | 400 | ★ 3.9 | 24 | BULK-306a6817 |
| 23757 | Bulk Product 8b67fcf6 | Books | $146.34 | 287 | ★ 2.0 | 25 | BULK-fee8b32c |
| 23758 | Bulk Product 614ce5c7 | Toys & Games | $1,003.37 | 128 | ★ 0.4 | 22 | BULK-7d4af26a |
| 23759 | Bulk Product dad5d03b | Sports & Outdoors | $440.16 | 66 | ★ 0.1 | 51 | BULK-dcedee76 |
// 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
};
}