Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 22960 | Bulk Product 5976ec26 | Electronics | $637.13 | 303 | ★ 1.0 | 54 | BULK-f7eb4c9e |
| 22961 | Bulk Product b54116d9 | Sports & Outdoors | $575.71 | 247 | ★ 4.5 | 91 | BULK-44bb1e87 |
| 22962 | Bulk Product 75e8a0de | Books | $499.64 | 489 | ★ 1.9 | 47 | BULK-9b618608 |
| 22963 | Bulk Product 5049f063 | Sports & Outdoors | $785.43 | 453 | ★ 3.1 | 29 | BULK-566848b8 |
| 22964 | Bulk Product 980b59cc | Books | $487.78 | 29 | ★ 4.7 | 79 | BULK-4c3025ca |
| 22965 | Bulk Product 31d7f73f | Home & Garden | $355.92 | 225 | ★ 1.9 | 72 | BULK-3d71fd75 |
| 22966 | Bulk Product 1842134f | Sports & Outdoors | $390.46 | 384 | ★ 0.8 | 26 | BULK-0bb47a51 |
| 22967 | Bulk Product bba802ec | Toys & Games | $224.56 | 232 | ★ 2.0 | 34 | BULK-f08e3d26 |
| 22968 | Bulk Product 8c028e65 | Toys & Games | $374.66 | 127 | ★ 1.7 | 55 | BULK-a534ee2f |
| 22969 | Bulk Product b018475b | Sports & Outdoors | $168.52 | 460 | ★ 4.0 | 50 | BULK-a885f16e |
| 22970 | Bulk Product d1d930cd | Home & Garden | $815.92 | 136 | ★ 0.9 | 17 | BULK-9a07e9f7 |
| 22971 | Bulk Product d9f16acf | Toys & Games | $407.34 | 325 | ★ 3.5 | 55 | BULK-06035a46 |
| 22972 | Bulk Product 0ba14421 | Home & Garden | $251.54 | 303 | ★ 2.3 | 86 | BULK-4e691c9b |
| 22973 | Bulk Product 21994e5d | Sports & Outdoors | $936.53 | 81 | ★ 0.7 | 12 | BULK-4f2795ba |
| 22974 | Bulk Product 07996ca5 | Electronics | $976.99 | 199 | ★ 0.9 | 12 | BULK-df39d813 |
| 22975 | Bulk Product 167348c1 | Home & Garden | $410.11 | 410 | ★ 4.4 | 77 | BULK-47920ec7 |
| 22976 | Bulk Product aab5dece | Electronics | $685.37 | 429 | ★ 4.7 | 19 | BULK-b717ed9b |
| 22977 | Bulk Product c379099e | Home & Garden | $983.03 | 80 | ★ 3.2 | 72 | BULK-9c19d525 |
| 22978 | Bulk Product 138569d7 | Home & Garden | $637.27 | 167 | ★ 1.2 | 68 | BULK-18d238d7 |
| 22979 | Bulk Product 39931af3 | Books | $240.38 | 215 | ★ 1.0 | 85 | BULK-1e188daf |
| 22980 | Bulk Product 30948161 | Toys & Games | $627.86 | 200 | ★ 4.0 | 19 | BULK-60afde80 |
| 22981 | Bulk Product 7f1d9d10 | Sports & Outdoors | $628.24 | 202 | ★ 2.2 | 84 | BULK-3f72c40f |
| 22982 | Bulk Product 4bc4b770 | Home & Garden | $955.79 | 192 | ★ 3.4 | 31 | BULK-466bc4b1 |
| 22983 | Bulk Product 9492df2b | Books | $27.90 | 339 | ★ 3.7 | 88 | BULK-5f75b510 |
| 22984 | Bulk Product 9dd56142 | Books | $244.75 | 343 | ★ 4.3 | 5 | BULK-711c96c8 |
| 22985 | Bulk Product 3f5f252b | Clothing | $301.28 | 458 | ★ 3.3 | 49 | BULK-db257bca |
| 22986 | Bulk Product a1105286 | Sports & Outdoors | $976.36 | 431 | ★ 2.7 | 39 | BULK-7a096e77 |
| 22987 | Bulk Product f067de14 | Toys & Games | $302.43 | 449 | ★ 1.6 | 13 | BULK-4300815b |
| 22988 | Bulk Product 59bb64ab | Books | $787.95 | 245 | ★ 2.3 | 86 | BULK-4f9905a8 |
| 22989 | Bulk Product 7b0fac35 | Sports & Outdoors | $306.69 | 476 | ★ 1.7 | 92 | BULK-fb98ebd2 |
| 22990 | Bulk Product 32c29591 | Sports & Outdoors | $170.07 | 67 | ★ 4.2 | 38 | BULK-bf4a990a |
| 22991 | Bulk Product 4817553f | Sports & Outdoors | $988.52 | 27 | ★ 0.9 | 30 | BULK-4fe62952 |
| 22992 | Bulk Product 541a4de9 | Sports & Outdoors | $586.76 | 421 | ★ 1.5 | 62 | BULK-b1d6ad30 |
| 22993 | Bulk Product 4561ec12 | Toys & Games | $730.89 | 32 | ★ 3.1 | 45 | BULK-69e56479 |
| 22994 | Bulk Product 6e67420b | Clothing | $416.17 | 227 | ★ 2.1 | 22 | BULK-4bbcab39 |
| 22995 | Bulk Product 1d16f9b9 | Books | $331.97 | 279 | ★ 4.3 | 98 | BULK-933747bd |
| 22996 | Bulk Product 13a0e770 | Electronics | $623.30 | 131 | ★ 3.8 | 92 | BULK-c8eb97e8 |
| 22997 | Bulk Product 1b901e34 | Home & Garden | $145.41 | 227 | ★ 4.1 | 96 | BULK-e3134176 |
| 22998 | Bulk Product ada7c034 | Home & Garden | $469.21 | 2 | ★ 4.2 | 7 | BULK-b07ffd44 |
| 22999 | Bulk Product cd894bfa | Toys & Games | $713.01 | 251 | ★ 1.0 | 76 | BULK-c2fca3c2 |
| 23000 | Bulk Product 5b72005c | Home & Garden | $696.61 | 240 | ★ 3.6 | 67 | BULK-e0ca6aa3 |
| 23001 | Bulk Product ed1060d7 | Home & Garden | $985.43 | 240 | ★ 0.1 | 9 | BULK-3507af0f |
| 23002 | Bulk Product fe2bc856 | Electronics | $798.77 | 224 | ★ 0.2 | 35 | BULK-3cd38a4b |
| 23003 | Bulk Product cb2d29cd | Clothing | $716.18 | 54 | ★ 4.7 | 32 | BULK-7098d3e7 |
| 23004 | Bulk Product 372e68f2 | Toys & Games | $10.85 | 290 | ★ 1.7 | 66 | BULK-0af4464a |
| 23005 | Bulk Product 5060c6b7 | Toys & Games | $105.77 | 348 | ★ 2.6 | 86 | BULK-3e1522f1 |
| 23006 | Bulk Product 1c62c2d1 | Books | $854.39 | 482 | ★ 2.3 | 52 | BULK-1da543d9 |
| 23007 | Bulk Product 05fb9ec7 | Home & Garden | $55.60 | 215 | ★ 3.2 | 53 | BULK-95d2dd5b |
| 23008 | Bulk Product 80e25945 | Electronics | $702.93 | 366 | ★ 4.7 | 96 | BULK-823221b3 |
| 23009 | Bulk Product d642ae68 | Home & Garden | $574.22 | 40 | ★ 4.9 | 23 | BULK-6ba6532b |
// 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
};
}