Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 20060 | Bulk Product e045f640 | Sports & Outdoors | $532.38 | 407 | ★ 2.5 | 71 | BULK-23b65c5f |
| 20061 | Bulk Product 456e76f8 | Home & Garden | $93.32 | 297 | ★ 3.6 | 1 | BULK-5859a54b |
| 20062 | Bulk Product faa199ae | Clothing | $553.51 | 44 | ★ 2.4 | 12 | BULK-38e94265 |
| 20063 | Bulk Product 1d1ac791 | Home & Garden | $257.46 | 259 | ★ 1.3 | 32 | BULK-f719e17f |
| 20064 | Bulk Product bbaa3df9 | Home & Garden | $815.12 | 186 | ★ 0.9 | 51 | BULK-49f19aaf |
| 20065 | Bulk Product b9a80743 | Toys & Games | $450.66 | 182 | ★ 2.9 | 1 | BULK-897362fd |
| 20066 | Bulk Product b0b17954 | Electronics | $616.24 | 420 | ★ 2.2 | 55 | BULK-68fa97ae |
| 20067 | Bulk Product 6fd5606d | Electronics | $538.95 | 213 | ★ 3.4 | 93 | BULK-59762528 |
| 20068 | Bulk Product abea1d19 | Sports & Outdoors | $239.53 | 29 | ★ 0.8 | 69 | BULK-539234fd |
| 20069 | Bulk Product bf1b2f00 | Books | $603.26 | 165 | ★ 3.2 | 28 | BULK-b8d680b5 |
| 20070 | Bulk Product 27e162d2 | Electronics | $717.17 | 261 | ★ 1.9 | 45 | BULK-5f421634 |
| 20071 | Bulk Product ac33b4ae | Home & Garden | $147.76 | 251 | ★ 1.5 | 94 | BULK-e8d9046b |
| 20072 | Bulk Product f441a030 | Clothing | $226.40 | 59 | ★ 4.4 | 50 | BULK-a53ce563 |
| 20073 | Bulk Product 36cc96cd | Sports & Outdoors | $697.43 | 158 | ★ 0.5 | 92 | BULK-1d198957 |
| 20074 | Bulk Product 7e379d77 | Toys & Games | $125.90 | 386 | ★ 0.7 | 44 | BULK-7738d050 |
| 20075 | Bulk Product cf8fe499 | Clothing | $80.91 | 120 | ★ 0.2 | 56 | BULK-40747199 |
| 20076 | Bulk Product 1ba06daf | Toys & Games | $765.73 | 401 | ★ 2.5 | 32 | BULK-96ffa06b |
| 20077 | Bulk Product d712fb97 | Toys & Games | $637.46 | 291 | ★ 1.3 | 39 | BULK-796a0c48 |
| 20078 | Bulk Product a8f9f904 | Electronics | $706.14 | 92 | ★ 1.6 | 61 | BULK-7a06667a |
| 20079 | Bulk Product b2f83a1b | Home & Garden | $900.09 | 308 | ★ 4.0 | 13 | BULK-6e603b50 |
| 20080 | Bulk Product 5ab2e380 | Clothing | $991.55 | 495 | ★ 1.4 | 95 | BULK-3477f68e |
| 20081 | Bulk Product 03aa063e | Books | $209.58 | 489 | ★ 0.3 | 59 | BULK-3594c67b |
| 20082 | Bulk Product 06a591d7 | Home & Garden | $984.39 | 112 | ★ 1.6 | 95 | BULK-6b35fcce |
| 20083 | Bulk Product 82813f30 | Books | $482.17 | 19 | ★ 1.9 | 77 | BULK-0a97c018 |
| 20084 | Bulk Product 5f89092b | Clothing | $650.33 | 190 | ★ 1.7 | 82 | BULK-3054f74a |
| 20085 | Bulk Product b2c1ffd3 | Books | $837.14 | 144 | ★ 4.0 | 67 | BULK-ce62c0d5 |
| 20086 | Bulk Product e9f66897 | Toys & Games | $600.12 | 236 | ★ 0.1 | 67 | BULK-47c6a591 |
| 20087 | Bulk Product 9b4a08c6 | Electronics | $274.11 | 131 | ★ 0.7 | 66 | BULK-6af234ad |
| 20088 | Bulk Product d0ff5ba6 | Sports & Outdoors | $780.36 | 237 | ★ 1.5 | 71 | BULK-09d0d05a |
| 20089 | Bulk Product bfab089a | Clothing | $796.33 | 62 | ★ 0.8 | 7 | BULK-e08144eb |
| 20090 | Bulk Product 3af14c6d | Clothing | $366.56 | 295 | ★ 1.0 | 22 | BULK-640c67e4 |
| 20091 | Bulk Product 38268084 | Books | $741.71 | 245 | ★ 2.4 | 33 | BULK-5539ba7f |
| 20092 | Bulk Product 3e5f5281 | Sports & Outdoors | $460.07 | 73 | ★ 4.1 | 54 | BULK-547a5711 |
| 20093 | Bulk Product 5120163c | Electronics | $838.17 | 48 | ★ 0.3 | 93 | BULK-d0b99a89 |
| 20094 | Bulk Product 513d8f50 | Sports & Outdoors | $194.66 | 488 | ★ 1.7 | 92 | BULK-43ab30d0 |
| 20095 | Bulk Product c265916a | Toys & Games | $34.29 | 242 | ★ 2.6 | 76 | BULK-8d26781d |
| 20096 | Bulk Product 562d0a42 | Toys & Games | $573.41 | 421 | ★ 3.7 | 18 | BULK-26210d83 |
| 20097 | Bulk Product 9f7797b7 | Clothing | $535.70 | 274 | ★ 0.6 | 13 | BULK-c061b757 |
| 20098 | Bulk Product 360cace9 | Toys & Games | $752.59 | 53 | ★ 4.6 | 6 | BULK-7dadecaa |
| 20099 | Bulk Product b13de8be | Clothing | $288.18 | 291 | ★ 0.1 | 91 | BULK-3e1a7db2 |
| 20100 | Bulk Product ec2acd8e | Sports & Outdoors | $660.64 | 86 | ★ 4.4 | 33 | BULK-1961785e |
| 20101 | Bulk Product 67ccf610 | Electronics | $334.04 | 73 | ★ 1.9 | 16 | BULK-a058e594 |
| 20102 | Bulk Product 06bd730d | Home & Garden | $647.46 | 353 | ★ 2.7 | 52 | BULK-6e4d92be |
| 20103 | Bulk Product 14761046 | Home & Garden | $299.16 | 245 | ★ 3.4 | 23 | BULK-7e72a21d |
| 20104 | Bulk Product 82a64aff | Electronics | $465.77 | 320 | ★ 0.5 | 52 | BULK-402cb6fc |
| 20105 | Bulk Product b5439670 | Books | $281.06 | 269 | ★ 3.4 | 32 | BULK-86ecbd15 |
| 20106 | Bulk Product 7c9e1c55 | Sports & Outdoors | $328.44 | 210 | ★ 5.0 | 42 | BULK-908eb543 |
| 20107 | Bulk Product 37ac7a0e | Sports & Outdoors | $508.21 | 35 | ★ 3.7 | 70 | BULK-82974856 |
| 20108 | Bulk Product ab0c962a | Electronics | $181.58 | 461 | ★ 1.9 | 67 | BULK-7028e1d5 |
| 20109 | Bulk Product 9bd6228d | Books | $784.12 | 286 | ★ 3.9 | 10 | BULK-b2457e31 |
// 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
};
}