Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 6510 | Bulk Product ca56e1c7 | Toys & Games | $695.11 | 172 | ★ 4.1 | 91 | BULK-aabf647c |
| 6511 | Bulk Product fc12c782 | Books | $123.40 | 99 | ★ 2.7 | 48 | BULK-89a298a5 |
| 6512 | Bulk Product 6d2f11d3 | Books | $418.82 | 420 | ★ 4.3 | 73 | BULK-26e33492 |
| 6513 | Bulk Product e3bd886a | Sports & Outdoors | $651.47 | 467 | ★ 1.9 | 22 | BULK-5fa9ed63 |
| 6514 | Bulk Product 19829414 | Toys & Games | $120.15 | 345 | ★ 2.7 | 55 | BULK-e274e731 |
| 6515 | Bulk Product f7152c4d | Home & Garden | $227.57 | 489 | ★ 4.1 | 50 | BULK-7739af7e |
| 6516 | Bulk Product f3488097 | Clothing | $663.17 | 254 | ★ 2.5 | 65 | BULK-44969b8a |
| 6517 | Bulk Product 10fafd6c | Sports & Outdoors | $708.79 | 114 | ★ 1.1 | 15 | BULK-4275873d |
| 6518 | Bulk Product eb03004f | Electronics | $364.31 | 34 | ★ 1.2 | 2 | BULK-66410dcc |
| 6519 | Bulk Product e70be0d7 | Books | $152.13 | 344 | ★ 2.8 | 24 | BULK-82265089 |
| 6520 | Bulk Product 1034c9e3 | Clothing | $129.33 | 385 | ★ 2.3 | 3 | BULK-8ec22957 |
| 6521 | Bulk Product c65e8162 | Home & Garden | $599.85 | 327 | ★ 0.4 | 5 | BULK-466806fc |
| 6522 | Bulk Product 92ccbfbc | Books | $556.95 | 480 | ★ 0.1 | 54 | BULK-123d4721 |
| 6523 | Bulk Product 6a682ade | Home & Garden | $50.23 | 404 | ★ 2.3 | 72 | BULK-046884a1 |
| 6524 | Bulk Product 2f8c0409 | Clothing | $331.77 | 483 | ★ 2.6 | 39 | BULK-3748475a |
| 6525 | Bulk Product 965a2148 | Toys & Games | $54.80 | 416 | ★ 4.9 | 16 | BULK-611ef096 |
| 6526 | Bulk Product fd65b872 | Clothing | $518.43 | 315 | ★ 2.2 | 29 | BULK-03348f9f |
| 6527 | Bulk Product 8262d8eb | Sports & Outdoors | $53.09 | 434 | ★ 1.1 | 0 | BULK-97625215 |
| 6528 | Bulk Product 55849aa9 | Home & Garden | $857.16 | 495 | ★ 3.4 | 4 | BULK-583e29b2 |
| 6529 | Bulk Product 5f473aab | Home & Garden | $955.25 | 348 | ★ 1.0 | 20 | BULK-914ad905 |
| 6530 | Bulk Product f4287149 | Books | $462.50 | 184 | ★ 1.5 | 25 | BULK-4fa2a67e |
| 6531 | Bulk Product 88dcacd9 | Sports & Outdoors | $620.30 | 397 | ★ 2.3 | 28 | BULK-b0cb6cbb |
| 6532 | Bulk Product 1dfb3d03 | Clothing | $468.29 | 110 | ★ 3.7 | 6 | BULK-8bc6ef2d |
| 6533 | Bulk Product dd109f4b | Sports & Outdoors | $765.59 | 225 | ★ 0.6 | 43 | BULK-915be706 |
| 6534 | Bulk Product cc841002 | Electronics | $287.57 | 73 | ★ 3.9 | 98 | BULK-4c589a5a |
| 6535 | Bulk Product 3c23ee90 | Clothing | $590.40 | 223 | ★ 2.2 | 69 | BULK-ed49430e |
| 6536 | Bulk Product b3f8d236 | Toys & Games | $839.98 | 375 | ★ 3.3 | 11 | BULK-5e914b75 |
| 6537 | Bulk Product 784e8514 | Clothing | $163.42 | 195 | ★ 0.7 | 51 | BULK-67866c9d |
| 6538 | Bulk Product 9794c401 | Sports & Outdoors | $677.69 | 423 | ★ 4.3 | 60 | BULK-72fbefb2 |
| 6539 | Bulk Product ba77fbf1 | Toys & Games | $68.50 | 23 | ★ 3.8 | 50 | BULK-ea7db789 |
| 6540 | Bulk Product ee069193 | Toys & Games | $60.85 | 401 | ★ 3.1 | 76 | BULK-66d5bd54 |
| 6541 | Bulk Product 842b4b90 | Toys & Games | $950.86 | 371 | ★ 2.4 | 40 | BULK-ea505b06 |
| 6542 | Bulk Product 9d37840e | Electronics | $24.74 | 266 | ★ 3.2 | 71 | BULK-a9235f78 |
| 6543 | Bulk Product bcd1e7c2 | Home & Garden | $109.86 | 394 | ★ 2.0 | 69 | BULK-7fa819b3 |
| 6544 | Bulk Product b1349d55 | Sports & Outdoors | $703.92 | 244 | ★ 4.6 | 37 | BULK-4913ba58 |
| 6545 | Bulk Product 2a0661e0 | Sports & Outdoors | $224.21 | 309 | ★ 3.3 | 90 | BULK-56bb0e9d |
| 6546 | Bulk Product 2289882e | Books | $557.24 | 342 | ★ 1.2 | 99 | BULK-eb69664c |
| 6547 | Bulk Product 885d70b2 | Home & Garden | $513.51 | 452 | ★ 4.2 | 55 | BULK-0753184e |
| 6548 | Bulk Product a63c5511 | Clothing | $116.53 | 292 | ★ 1.2 | 32 | BULK-9c9fe78c |
| 6549 | Bulk Product 9f1c6d96 | Clothing | $449.13 | 117 | ★ 3.1 | 34 | BULK-7a07c2a7 |
| 6550 | Bulk Product 7d5682a5 | Sports & Outdoors | $570.68 | 288 | ★ 3.2 | 60 | BULK-86e4670c |
| 6551 | Bulk Product 427e6ad9 | Clothing | $217.61 | 191 | ★ 1.8 | 42 | BULK-507bfed6 |
| 6552 | Bulk Product 1b46af9f | Sports & Outdoors | $657.20 | 152 | ★ 1.6 | 29 | BULK-a5ed0d30 |
| 6553 | Bulk Product 45d4547b | Sports & Outdoors | $274.04 | 122 | ★ 1.8 | 75 | BULK-de6a25a5 |
| 6554 | Bulk Product 219a76ae | Books | $521.98 | 360 | ★ 0.6 | 84 | BULK-bbafa65c |
| 6555 | Bulk Product adc7cbfd | Books | $688.93 | 367 | ★ 1.1 | 5 | BULK-ca1c50bd |
| 6556 | Bulk Product eb96641f | Sports & Outdoors | $976.74 | 215 | ★ 1.0 | 24 | BULK-a9d3ab5d |
| 6557 | Bulk Product 75d78b93 | Home & Garden | $253.12 | 287 | ★ 3.6 | 39 | BULK-2b05cbe5 |
| 6558 | Bulk Product e4091ec3 | Sports & Outdoors | $380.30 | 145 | ★ 4.3 | 53 | BULK-6ad59639 |
| 6559 | Bulk Product 3287bfae | Toys & Games | $918.82 | 155 | ★ 1.4 | 26 | BULK-c8e53804 |
// 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
};
}