Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 15710 | Bulk Product 9a1d021a | Clothing | $183.15 | 3 | ★ 4.8 | 13 | BULK-6e3252e4 |
| 15711 | Bulk Product 89faef70 | Toys & Games | $350.41 | 418 | ★ 3.4 | 44 | BULK-c840e683 |
| 15712 | Bulk Product e5344f71 | Sports & Outdoors | $225.80 | 290 | ★ 3.8 | 67 | BULK-62977b1c |
| 15713 | Bulk Product ad69d60f | Clothing | $17.24 | 191 | ★ 3.4 | 88 | BULK-2b091f01 |
| 15714 | Bulk Product 95767d62 | Clothing | $906.10 | 11 | ★ 1.1 | 20 | BULK-d716038e |
| 15715 | Bulk Product 482875bd | Home & Garden | $515.89 | 16 | ★ 1.5 | 77 | BULK-122b02a8 |
| 15716 | Bulk Product 0e9797cb | Clothing | $716.90 | 451 | ★ 0.8 | 80 | BULK-31c8f0b0 |
| 15717 | Bulk Product 55ba791b | Books | $910.86 | 404 | ★ 2.4 | 58 | BULK-8e0029a2 |
| 15718 | Bulk Product 3d28cd88 | Sports & Outdoors | $976.91 | 142 | ★ 0.1 | 43 | BULK-1cf926b3 |
| 15719 | Bulk Product 51fb47d6 | Home & Garden | $245.48 | 121 | ★ 3.4 | 80 | BULK-d11e8d5e |
| 15720 | Bulk Product ab9bdd4a | Electronics | $944.61 | 182 | ★ 1.5 | 8 | BULK-392b51a9 |
| 15721 | Bulk Product 96d93f43 | Books | $453.64 | 334 | ★ 2.7 | 17 | BULK-806b3092 |
| 15722 | Bulk Product 895a1da5 | Toys & Games | $878.29 | 153 | ★ 1.0 | 77 | BULK-935f8229 |
| 15723 | Bulk Product 1282a0a6 | Toys & Games | $366.89 | 101 | ★ 4.6 | 15 | BULK-eb24deed |
| 15724 | Bulk Product bbdaab10 | Electronics | $924.52 | 121 | ★ 1.7 | 99 | BULK-4d932a19 |
| 15725 | Bulk Product 8a996791 | Electronics | $107.89 | 6 | ★ 0.5 | 84 | BULK-39ce5627 |
| 15726 | Bulk Product c1dd0691 | Sports & Outdoors | $740.87 | 348 | ★ 4.0 | 7 | BULK-bff11510 |
| 15727 | Bulk Product 5e0b0a01 | Books | $46.84 | 444 | ★ 3.2 | 23 | BULK-d4106d59 |
| 15728 | Bulk Product b6353996 | Toys & Games | $988.09 | 465 | ★ 2.3 | 5 | BULK-6d307ac0 |
| 15729 | Bulk Product d4e649ab | Home & Garden | $336.48 | 465 | ★ 2.4 | 42 | BULK-975fd136 |
| 15730 | Bulk Product d9d10a48 | Home & Garden | $406.65 | 38 | ★ 4.7 | 64 | BULK-8a467cbd |
| 15731 | Bulk Product dfd23f89 | Electronics | $535.67 | 248 | ★ 4.0 | 44 | BULK-77260649 |
| 15732 | Bulk Product 68c4bfee | Toys & Games | $987.25 | 261 | ★ 2.6 | 27 | BULK-67ced8db |
| 15733 | Bulk Product 2ef4a13a | Sports & Outdoors | $569.76 | 160 | ★ 4.2 | 95 | BULK-f8f5618b |
| 15734 | Bulk Product d9ed7a04 | Sports & Outdoors | $134.58 | 23 | ★ 4.1 | 50 | BULK-8c1de865 |
| 15735 | Bulk Product 2ca568e1 | Books | $907.50 | 424 | ★ 4.8 | 40 | BULK-997f178e |
| 15736 | Bulk Product aacd9d6d | Electronics | $874.98 | 8 | ★ 5.0 | 40 | BULK-3b16341e |
| 15737 | Bulk Product 9e4fe4ab | Clothing | $751.04 | 70 | ★ 1.3 | 73 | BULK-47c92c09 |
| 15738 | Bulk Product 9162985b | Home & Garden | $625.68 | 269 | ★ 0.7 | 8 | BULK-ef8f43ae |
| 15739 | Bulk Product b61cb9d7 | Home & Garden | $60.17 | 496 | ★ 4.5 | 44 | BULK-d932a64e |
| 15740 | Bulk Product 882d78dd | Home & Garden | $911.76 | 337 | ★ 4.2 | 62 | BULK-fb813f49 |
| 15741 | Bulk Product d3473168 | Electronics | $343.82 | 330 | ★ 0.4 | 59 | BULK-2ecc8362 |
| 15742 | Bulk Product b8577724 | Sports & Outdoors | $703.62 | 478 | ★ 2.8 | 54 | BULK-293300ef |
| 15743 | Bulk Product 26313716 | Home & Garden | $744.36 | 173 | ★ 2.5 | 48 | BULK-a111fb3f |
| 15744 | Bulk Product 0f0f0a3c | Electronics | $891.09 | 249 | ★ 1.8 | 93 | BULK-2c4cb444 |
| 15745 | Bulk Product ca73873c | Clothing | $495.32 | 129 | ★ 2.7 | 34 | BULK-cd572746 |
| 15746 | Bulk Product 925ca212 | Books | $485.71 | 134 | ★ 0.5 | 66 | BULK-714d2099 |
| 15747 | Bulk Product db2c8825 | Electronics | $247.03 | 480 | ★ 1.2 | 47 | BULK-840fadaf |
| 15748 | Bulk Product a25930a8 | Books | $548.22 | 436 | ★ 3.1 | 19 | BULK-fb3c7682 |
| 15749 | Bulk Product 1222e18c | Sports & Outdoors | $572.03 | 85 | ★ 4.9 | 71 | BULK-87087692 |
| 15750 | Bulk Product f3a07a9b | Books | $369.25 | 338 | ★ 0.2 | 6 | BULK-4ce5f360 |
| 15751 | Bulk Product 159463e4 | Home & Garden | $527.20 | 23 | ★ 1.7 | 62 | BULK-a9e53e6d |
| 15752 | Bulk Product 4073dba3 | Home & Garden | $437.63 | 185 | ★ 4.9 | 33 | BULK-df842074 |
| 15753 | Bulk Product a12b3b7f | Sports & Outdoors | $81.85 | 337 | ★ 2.6 | 86 | BULK-e686ba6e |
| 15754 | Bulk Product 0eadd2a7 | Electronics | $831.49 | 463 | ★ 2.1 | 53 | BULK-8318a857 |
| 15755 | Bulk Product 19c98c20 | Electronics | $642.79 | 402 | ★ 0.6 | 82 | BULK-8cce2798 |
| 15756 | Bulk Product 135305ab | Home & Garden | $954.09 | 82 | ★ 1.6 | 22 | BULK-2331ccf8 |
| 15757 | Bulk Product 2f4c0d92 | Home & Garden | $228.47 | 69 | ★ 0.9 | 41 | BULK-e537724c |
| 15758 | Bulk Product 0cee9164 | Books | $339.34 | 261 | ★ 4.0 | 79 | BULK-f7596406 |
| 15759 | Bulk Product c59dacea | Home & Garden | $348.14 | 150 | ★ 0.5 | 33 | BULK-8a89cc16 |
// 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
};
}