Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 21060 | Bulk Product babcb33b | Home & Garden | $498.64 | 336 | ★ 3.7 | 41 | BULK-d911463f |
| 21061 | Bulk Product 49c6298b | Sports & Outdoors | $819.36 | 318 | ★ 1.0 | 71 | BULK-d47dccbc |
| 21062 | Bulk Product 20f695e4 | Clothing | $516.82 | 338 | ★ 0.4 | 42 | BULK-2bfda243 |
| 21063 | Bulk Product 68026e65 | Toys & Games | $450.52 | 317 | ★ 2.6 | 26 | BULK-40e7bbef |
| 21064 | Bulk Product 0b2b28ee | Toys & Games | $638.71 | 433 | ★ 5.0 | 1 | BULK-f1f935bb |
| 21065 | Bulk Product 64d36384 | Electronics | $646.79 | 476 | ★ 0.2 | 61 | BULK-52efc50f |
| 21066 | Bulk Product b2a6e721 | Sports & Outdoors | $549.90 | 220 | ★ 3.6 | 37 | BULK-9ef16614 |
| 21067 | Bulk Product 440d36aa | Home & Garden | $467.67 | 60 | ★ 3.9 | 97 | BULK-a733c2ac |
| 21068 | Bulk Product 6b86dcde | Home & Garden | $990.93 | 369 | ★ 3.4 | 77 | BULK-3614fddc |
| 21069 | Bulk Product a26488cc | Electronics | $730.76 | 365 | ★ 3.6 | 65 | BULK-c111e682 |
| 21070 | Bulk Product 7399a2b0 | Sports & Outdoors | $612.12 | 247 | ★ 3.2 | 29 | BULK-e0ee7c5e |
| 21071 | Bulk Product 0feec733 | Toys & Games | $881.86 | 420 | ★ 1.5 | 92 | BULK-fc4e20b9 |
| 21072 | Bulk Product 5d7e4c5e | Books | $892.00 | 352 | ★ 3.1 | 3 | BULK-efcf58ae |
| 21073 | Bulk Product bd4e7719 | Toys & Games | $744.06 | 67 | ★ 4.6 | 20 | BULK-f75673c9 |
| 21074 | Bulk Product 32ce8041 | Electronics | $595.35 | 488 | ★ 2.0 | 71 | BULK-242884db |
| 21075 | Bulk Product 7f1a34f5 | Home & Garden | $960.13 | 162 | ★ 2.8 | 52 | BULK-6dd29a9f |
| 21076 | Bulk Product 45c5ac32 | Sports & Outdoors | $938.74 | 424 | ★ 3.0 | 98 | BULK-6e6ca4d0 |
| 21077 | Bulk Product 27bae157 | Books | $829.17 | 274 | ★ 4.2 | 7 | BULK-b94e3637 |
| 21078 | Bulk Product 311d6591 | Sports & Outdoors | $936.48 | 96 | ★ 1.6 | 90 | BULK-c90d2b30 |
| 21079 | Bulk Product 42732af2 | Books | $90.67 | 408 | ★ 0.6 | 26 | BULK-22624efa |
| 21080 | Bulk Product f9e63a19 | Clothing | $646.91 | 58 | ★ 3.0 | 26 | BULK-d2bec1db |
| 21081 | Bulk Product c0656f1d | Toys & Games | $275.56 | 79 | ★ 4.6 | 19 | BULK-aff8d5da |
| 21082 | Bulk Product ae3e01f3 | Electronics | $813.94 | 451 | ★ 1.5 | 72 | BULK-6abf67ad |
| 21083 | Bulk Product 03b43e5b | Sports & Outdoors | $349.91 | 352 | ★ 2.2 | 74 | BULK-94ee8466 |
| 21084 | Bulk Product 1a1ca4ec | Electronics | $40.18 | 151 | ★ 1.8 | 73 | BULK-2d20c0e5 |
| 21085 | Bulk Product 863796d3 | Electronics | $311.57 | 14 | ★ 4.0 | 20 | BULK-93642fac |
| 21086 | Bulk Product 9aeb164e | Toys & Games | $513.36 | 368 | ★ 2.4 | 36 | BULK-b0278333 |
| 21087 | Bulk Product f21ab940 | Books | $400.84 | 154 | ★ 1.4 | 25 | BULK-b8cc478b |
| 21088 | Bulk Product 8e99ace5 | Electronics | $411.10 | 288 | ★ 0.8 | 55 | BULK-ce021c83 |
| 21089 | Bulk Product 11e0f0b8 | Sports & Outdoors | $451.14 | 415 | ★ 1.2 | 42 | BULK-9fbb3820 |
| 21090 | Bulk Product 734df07c | Clothing | $872.56 | 101 | ★ 3.7 | 24 | BULK-9d033c25 |
| 21091 | Bulk Product eccda0aa | Electronics | $191.21 | 39 | ★ 2.0 | 80 | BULK-31076e80 |
| 21092 | Bulk Product b83d9c91 | Books | $833.15 | 478 | ★ 2.5 | 55 | BULK-cc562aac |
| 21093 | Bulk Product c9ddfe2b | Electronics | $246.38 | 128 | ★ 0.1 | 44 | BULK-0784586c |
| 21094 | Bulk Product 2b612147 | Electronics | $801.00 | 393 | ★ 0.4 | 71 | BULK-99e33e98 |
| 21095 | Bulk Product 0846b78b | Home & Garden | $292.15 | 2 | ★ 0.6 | 81 | BULK-cbb6f9ec |
| 21096 | Bulk Product 4667a489 | Clothing | $859.05 | 183 | ★ 3.0 | 12 | BULK-b3d4c9bd |
| 21097 | Bulk Product 2dc07984 | Books | $64.28 | 338 | ★ 1.3 | 97 | BULK-3bb3050e |
| 21098 | Bulk Product 26be3e18 | Sports & Outdoors | $620.24 | 169 | ★ 2.6 | 92 | BULK-08ffd8c7 |
| 21099 | Bulk Product f47904ea | Clothing | $754.50 | 233 | ★ 2.7 | 38 | BULK-6b3099b0 |
| 21100 | Bulk Product 8ebe918b | Sports & Outdoors | $123.81 | 488 | ★ 4.3 | 84 | BULK-fc255332 |
| 21101 | Bulk Product 9e19a374 | Sports & Outdoors | $719.42 | 260 | ★ 0.7 | 42 | BULK-4464c816 |
| 21102 | Bulk Product 5c4739f6 | Home & Garden | $59.67 | 85 | ★ 0.0 | 8 | BULK-3e27931e |
| 21103 | Bulk Product 327324fd | Home & Garden | $420.46 | 95 | ★ 4.2 | 86 | BULK-641b87b0 |
| 21104 | Bulk Product 8a32762e | Clothing | $1,002.62 | 454 | ★ 1.5 | 56 | BULK-e277befb |
| 21105 | Bulk Product b6c2dc68 | Toys & Games | $891.99 | 16 | ★ 2.0 | 63 | BULK-76bf9500 |
| 21106 | Bulk Product 84f1ddff | Electronics | $508.76 | 241 | ★ 4.0 | 81 | BULK-e9addd26 |
| 21107 | Bulk Product 1f8c8c93 | Sports & Outdoors | $660.10 | 277 | ★ 0.2 | 13 | BULK-c58fe79b |
| 21108 | Bulk Product cd39620a | Home & Garden | $426.05 | 424 | ★ 3.9 | 43 | BULK-00b088f4 |
| 21109 | Bulk Product b14ccb85 | Home & Garden | $119.62 | 110 | ★ 4.6 | 87 | BULK-8249fe30 |
// 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
};
}