Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 24560 | Bulk Product 3716c0af | Clothing | $951.22 | 219 | ★ 0.4 | 42 | BULK-30b6a92c |
| 24561 | Bulk Product 0a9af138 | Home & Garden | $478.58 | 228 | ★ 2.6 | 54 | BULK-1c5785e5 |
| 24562 | Bulk Product b51da0d6 | Sports & Outdoors | $535.42 | 305 | ★ 0.3 | 82 | BULK-d9834c90 |
| 24563 | Bulk Product c3bfcaa7 | Electronics | $133.20 | 171 | ★ 1.0 | 39 | BULK-60d4ca51 |
| 24564 | Bulk Product 5c156f25 | Home & Garden | $398.04 | 53 | ★ 0.8 | 71 | BULK-f07ec94e |
| 24565 | Bulk Product 02242e59 | Home & Garden | $300.62 | 322 | ★ 4.8 | 68 | BULK-46b85af5 |
| 24566 | Bulk Product a80f9c49 | Toys & Games | $110.46 | 367 | ★ 4.3 | 36 | BULK-404a664e |
| 24567 | Bulk Product 75dd9973 | Home & Garden | $879.07 | 313 | ★ 2.6 | 16 | BULK-53bbda79 |
| 24568 | Bulk Product fa845c0d | Home & Garden | $718.46 | 452 | ★ 2.3 | 83 | BULK-b1cee31c |
| 24569 | Bulk Product d3985827 | Books | $301.86 | 34 | ★ 2.3 | 69 | BULK-b7b2f472 |
| 24570 | Bulk Product 60f0356f | Books | $14.84 | 223 | ★ 1.6 | 73 | BULK-00a52ab6 |
| 24571 | Bulk Product 674fc516 | Books | $602.65 | 323 | ★ 2.4 | 38 | BULK-e1a55636 |
| 24572 | Bulk Product 4a53d9f8 | Books | $540.35 | 21 | ★ 0.9 | 4 | BULK-8ecdcf22 |
| 24573 | Bulk Product 4bcb6a09 | Sports & Outdoors | $449.17 | 359 | ★ 4.5 | 90 | BULK-6870f344 |
| 24574 | Bulk Product e1048dcb | Sports & Outdoors | $157.10 | 203 | ★ 3.7 | 57 | BULK-e46fc905 |
| 24575 | Bulk Product 06bc9bd0 | Toys & Games | $574.34 | 117 | ★ 4.1 | 83 | BULK-7092ad18 |
| 24576 | Bulk Product 53e24113 | Books | $193.87 | 82 | ★ 3.2 | 11 | BULK-aca94324 |
| 24577 | Bulk Product 3132a9f2 | Home & Garden | $374.94 | 23 | ★ 0.5 | 61 | BULK-dc78f365 |
| 24578 | Bulk Product a2a47dd0 | Home & Garden | $58.97 | 128 | ★ 4.0 | 67 | BULK-e5b5268d |
| 24579 | Bulk Product 06336cb2 | Electronics | $373.39 | 424 | ★ 3.6 | 5 | BULK-a091a382 |
| 24580 | Bulk Product 6a72c32f | Electronics | $106.18 | 438 | ★ 2.2 | 45 | BULK-45985196 |
| 24581 | Bulk Product 5edc63a2 | Toys & Games | $748.61 | 192 | ★ 1.7 | 59 | BULK-97f7fdc2 |
| 24582 | Bulk Product dcb10d48 | Home & Garden | $623.07 | 76 | ★ 1.3 | 25 | BULK-ecc67d18 |
| 24583 | Bulk Product 931aa349 | Sports & Outdoors | $747.48 | 423 | ★ 0.9 | 99 | BULK-27bb2734 |
| 24584 | Bulk Product 6c3b8064 | Sports & Outdoors | $839.23 | 479 | ★ 1.7 | 21 | BULK-4ab6c13d |
| 24585 | Bulk Product 3df804fc | Clothing | $187.24 | 86 | ★ 0.0 | 56 | BULK-4d257d83 |
| 24586 | Bulk Product 82492be9 | Books | $1,002.88 | 276 | ★ 2.0 | 85 | BULK-57bf81a2 |
| 24587 | Bulk Product 8bb0b586 | Clothing | $520.02 | 409 | ★ 2.2 | 21 | BULK-0bd453d8 |
| 24588 | Bulk Product ab95eec9 | Electronics | $655.09 | 480 | ★ 1.7 | 21 | BULK-e02720d8 |
| 24589 | Bulk Product 5b9c9d80 | Books | $309.87 | 212 | ★ 1.1 | 18 | BULK-28c8cd68 |
| 24590 | Bulk Product 5f05024c | Toys & Games | $50.21 | 435 | ★ 2.6 | 18 | BULK-0c4de4df |
| 24591 | Bulk Product 7c25e572 | Toys & Games | $461.66 | 36 | ★ 4.9 | 58 | BULK-5f0dd580 |
| 24592 | Bulk Product f9fe7a14 | Electronics | $329.11 | 363 | ★ 3.0 | 48 | BULK-3e7fcf76 |
| 24593 | Bulk Product 4a1736d3 | Sports & Outdoors | $38.65 | 50 | ★ 2.8 | 58 | BULK-c02485b0 |
| 24594 | Bulk Product 1cac349a | Toys & Games | $700.51 | 256 | ★ 3.5 | 87 | BULK-337a27bd |
| 24595 | Bulk Product 0d14bdad | Sports & Outdoors | $850.04 | 241 | ★ 2.7 | 36 | BULK-abc80691 |
| 24596 | Bulk Product 56bf92e4 | Books | $408.47 | 161 | ★ 1.2 | 18 | BULK-861f62f0 |
| 24597 | Bulk Product 580ba6f4 | Home & Garden | $282.30 | 440 | ★ 4.6 | 52 | BULK-f582ec7d |
| 24598 | Bulk Product 0a04c629 | Sports & Outdoors | $880.49 | 247 | ★ 2.5 | 42 | BULK-d52b6ef2 |
| 24599 | Bulk Product d3efdcf8 | Home & Garden | $1,005.36 | 254 | ★ 4.6 | 52 | BULK-b7cc9a51 |
| 24600 | Bulk Product c4e4f5bb | Home & Garden | $969.24 | 265 | ★ 4.0 | 21 | BULK-6b1af499 |
| 24601 | Bulk Product 3ac41f64 | Toys & Games | $893.08 | 414 | ★ 2.8 | 8 | BULK-311a44a2 |
| 24602 | Bulk Product bf442757 | Toys & Games | $993.68 | 179 | ★ 0.3 | 20 | BULK-4a8f980c |
| 24603 | Bulk Product 36a96ca2 | Clothing | $22.47 | 2 | ★ 4.2 | 79 | BULK-b28bc70a |
| 24604 | Bulk Product 85c38df1 | Home & Garden | $478.82 | 365 | ★ 3.9 | 93 | BULK-ddbff956 |
| 24605 | Bulk Product 4bbf7614 | Sports & Outdoors | $814.64 | 445 | ★ 0.8 | 84 | BULK-fe181a67 |
| 24606 | Bulk Product af6025ae | Home & Garden | $93.62 | 276 | ★ 2.5 | 49 | BULK-1c3ef90b |
| 24607 | Bulk Product a98b53e3 | Clothing | $463.78 | 395 | ★ 3.3 | 91 | BULK-90f66996 |
| 24608 | Bulk Product 1c501d6d | Sports & Outdoors | $918.10 | 416 | ★ 3.6 | 75 | BULK-3d387b8f |
| 24609 | Bulk Product f68842f5 | Clothing | $822.88 | 249 | ★ 3.3 | 27 | BULK-39bdf177 |
// 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
};
}