Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 12310 | Bulk Product ad45ac5b | Electronics | $892.24 | 271 | ★ 2.0 | 82 | BULK-7bff60c5 |
| 12311 | Bulk Product 5ebe4611 | Books | $923.88 | 175 | ★ 3.5 | 78 | BULK-13f68889 |
| 12312 | Bulk Product a30fdb43 | Toys & Games | $345.62 | 191 | ★ 0.5 | 88 | BULK-1b2e2f78 |
| 12313 | Bulk Product d20109fe | Toys & Games | $204.45 | 478 | ★ 3.1 | 64 | BULK-e7357e88 |
| 12314 | Bulk Product c8c2b679 | Sports & Outdoors | $672.96 | 490 | ★ 4.8 | 87 | BULK-90e97466 |
| 12315 | Bulk Product f33c0280 | Electronics | $857.63 | 418 | ★ 2.7 | 93 | BULK-e639bdc2 |
| 12316 | Bulk Product 614647c4 | Electronics | $128.81 | 436 | ★ 0.0 | 90 | BULK-4be65521 |
| 12317 | Bulk Product c7198def | Sports & Outdoors | $45.99 | 433 | ★ 0.1 | 19 | BULK-bd02153e |
| 12318 | Bulk Product 32d76516 | Books | $533.27 | 261 | ★ 4.4 | 79 | BULK-ef4c6fc5 |
| 12319 | Bulk Product 9a9cdd5e | Sports & Outdoors | $284.33 | 169 | ★ 4.9 | 13 | BULK-fe7f65ac |
| 12320 | Bulk Product 24bf52a3 | Sports & Outdoors | $936.22 | 254 | ★ 2.2 | 90 | BULK-495b3cc2 |
| 12321 | Bulk Product 74463f2f | Sports & Outdoors | $794.17 | 114 | ★ 4.9 | 52 | BULK-646c2acf |
| 12322 | Bulk Product 899e8d4c | Sports & Outdoors | $364.67 | 76 | ★ 2.0 | 58 | BULK-7ef5b02d |
| 12323 | Bulk Product 455697b0 | Home & Garden | $405.58 | 91 | ★ 1.4 | 59 | BULK-e638f2c6 |
| 12324 | Bulk Product 8670574b | Home & Garden | $933.35 | 241 | ★ 0.1 | 0 | BULK-4c7c5e8f |
| 12325 | Bulk Product 1845f258 | Electronics | $552.27 | 274 | ★ 3.0 | 81 | BULK-cf8b7aa2 |
| 12326 | Bulk Product 90d0ecf9 | Clothing | $258.86 | 149 | ★ 4.5 | 79 | BULK-6dd9ae13 |
| 12327 | Bulk Product 21d7136d | Electronics | $390.94 | 460 | ★ 3.3 | 37 | BULK-85cdaf63 |
| 12328 | Bulk Product 820aa625 | Sports & Outdoors | $461.66 | 226 | ★ 2.9 | 72 | BULK-c5ac5be8 |
| 12329 | Bulk Product a6337060 | Toys & Games | $359.91 | 86 | ★ 0.6 | 59 | BULK-5475a55a |
| 12330 | Bulk Product 7e3e6895 | Electronics | $336.81 | 395 | ★ 4.2 | 77 | BULK-e64858aa |
| 12331 | Bulk Product fa9d7dae | Clothing | $839.05 | 115 | ★ 1.1 | 76 | BULK-cb707b3e |
| 12332 | Bulk Product a7171e2f | Clothing | $601.53 | 178 | ★ 4.8 | 17 | BULK-82525f13 |
| 12333 | Bulk Product 01f2bb68 | Books | $237.11 | 61 | ★ 4.1 | 49 | BULK-e719b4a9 |
| 12334 | Bulk Product 9e5fcb18 | Home & Garden | $859.00 | 196 | ★ 4.6 | 8 | BULK-22974801 |
| 12335 | Bulk Product 360f2cf6 | Toys & Games | $808.17 | 473 | ★ 2.8 | 61 | BULK-0e0aa711 |
| 12336 | Bulk Product 8bc17685 | Sports & Outdoors | $45.22 | 409 | ★ 2.5 | 78 | BULK-8b46a712 |
| 12337 | Bulk Product 7d38e808 | Sports & Outdoors | $245.29 | 62 | ★ 4.4 | 45 | BULK-2af28458 |
| 12338 | Bulk Product 06c9e1f1 | Books | $91.20 | 14 | ★ 0.4 | 11 | BULK-9aac2a05 |
| 12339 | Bulk Product 93fdac13 | Clothing | $306.56 | 280 | ★ 4.1 | 28 | BULK-41430236 |
| 12340 | Bulk Product 85370750 | Clothing | $630.10 | 205 | ★ 2.4 | 5 | BULK-0b457996 |
| 12341 | Bulk Product e7802521 | Toys & Games | $969.65 | 330 | ★ 4.0 | 16 | BULK-88d5a46d |
| 12342 | Bulk Product a0854d1d | Electronics | $383.12 | 306 | ★ 4.5 | 1 | BULK-8388b3e1 |
| 12343 | Bulk Product 24b120cd | Books | $640.72 | 221 | ★ 4.9 | 63 | BULK-f9287184 |
| 12344 | Bulk Product 3be97a2f | Home & Garden | $230.92 | 460 | ★ 1.4 | 28 | BULK-ecbe824f |
| 12345 | Bulk Product 5435cc09 | Toys & Games | $138.13 | 26 | ★ 3.5 | 50 | BULK-04076323 |
| 12346 | Bulk Product 7ea8b3d1 | Home & Garden | $874.77 | 297 | ★ 4.4 | 31 | BULK-34c317b2 |
| 12347 | Bulk Product 2cc9a092 | Books | $118.34 | 224 | ★ 3.9 | 74 | BULK-917c9cb6 |
| 12348 | Bulk Product 18c998e7 | Sports & Outdoors | $307.92 | 415 | ★ 2.0 | 79 | BULK-9c7b1b90 |
| 12349 | Bulk Product 7776ce4c | Toys & Games | $983.90 | 336 | ★ 4.7 | 13 | BULK-d3e351e8 |
| 12350 | Bulk Product 3e821761 | Books | $82.20 | 240 | ★ 4.3 | 29 | BULK-fcdf449e |
| 12351 | Bulk Product 613e2819 | Home & Garden | $66.40 | 353 | ★ 2.5 | 18 | BULK-d016e8cc |
| 12352 | Bulk Product 39ad8b43 | Sports & Outdoors | $650.34 | 151 | ★ 4.2 | 52 | BULK-7809ed53 |
| 12353 | Bulk Product 9a46a3ce | Home & Garden | $631.05 | 331 | ★ 3.6 | 55 | BULK-b0267049 |
| 12354 | Bulk Product a41e0109 | Clothing | $832.13 | 359 | ★ 2.8 | 55 | BULK-66d027dc |
| 12355 | Bulk Product dfc029d7 | Books | $292.22 | 317 | ★ 2.1 | 43 | BULK-5f5ddd56 |
| 12356 | Bulk Product f556531d | Home & Garden | $142.44 | 453 | ★ 0.8 | 18 | BULK-489228d5 |
| 12357 | Bulk Product 3f402601 | Sports & Outdoors | $592.15 | 495 | ★ 4.7 | 13 | BULK-f8a349be |
| 12358 | Bulk Product 8dd455b2 | Toys & Games | $761.54 | 142 | ★ 4.7 | 77 | BULK-6694b040 |
| 12359 | Bulk Product d7168903 | Clothing | $203.62 | 386 | ★ 0.6 | 98 | BULK-a4fbf8da |
// 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
};
}