Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 18660 | Bulk Product de5e1623 | Home & Garden | $786.37 | 414 | ★ 3.2 | 75 | BULK-a4f903bd |
| 18661 | Bulk Product a949ae1b | Electronics | $634.83 | 130 | ★ 4.1 | 28 | BULK-3698bd5e |
| 18662 | Bulk Product 8bc6161e | Books | $350.43 | 481 | ★ 0.6 | 58 | BULK-78d4cf6f |
| 18663 | Bulk Product b7ba2755 | Sports & Outdoors | $597.21 | 208 | ★ 2.6 | 5 | BULK-2350359a |
| 18664 | Bulk Product fc5c3681 | Home & Garden | $217.14 | 111 | ★ 4.0 | 91 | BULK-51c16126 |
| 18665 | Bulk Product bd9121c6 | Electronics | $238.76 | 20 | ★ 3.7 | 38 | BULK-45576ea3 |
| 18666 | Bulk Product 653466c9 | Sports & Outdoors | $784.90 | 288 | ★ 4.4 | 71 | BULK-6fce11eb |
| 18667 | Bulk Product 139585f6 | Sports & Outdoors | $673.40 | 240 | ★ 3.7 | 50 | BULK-4448e40d |
| 18668 | Bulk Product 2b0649ff | Sports & Outdoors | $31.93 | 436 | ★ 0.2 | 25 | BULK-cb8aa036 |
| 18669 | Bulk Product 808d9911 | Sports & Outdoors | $863.17 | 403 | ★ 1.3 | 55 | BULK-0ae245a3 |
| 18670 | Bulk Product f26aa4af | Toys & Games | $521.84 | 141 | ★ 2.7 | 16 | BULK-0f140f01 |
| 18671 | Bulk Product 414d0b6d | Home & Garden | $374.88 | 227 | ★ 3.9 | 21 | BULK-a476f75a |
| 18672 | Bulk Product a7e10909 | Books | $325.35 | 73 | ★ 0.1 | 22 | BULK-69c9f96c |
| 18673 | Bulk Product cb757ee9 | Clothing | $858.76 | 66 | ★ 3.9 | 39 | BULK-a2c79fcb |
| 18674 | Bulk Product 5a933d70 | Electronics | $955.99 | 82 | ★ 4.4 | 76 | BULK-e070d1bf |
| 18675 | Bulk Product af863b31 | Toys & Games | $548.09 | 421 | ★ 1.1 | 87 | BULK-3dc627e7 |
| 18676 | Bulk Product 158c9c1e | Clothing | $769.27 | 76 | ★ 1.7 | 55 | BULK-f8d863c7 |
| 18677 | Bulk Product ed4eb06b | Sports & Outdoors | $921.45 | 160 | ★ 1.0 | 38 | BULK-ebf506c3 |
| 18678 | Bulk Product 0e91c69a | Sports & Outdoors | $186.00 | 148 | ★ 2.3 | 60 | BULK-6e8a587c |
| 18679 | Bulk Product ab140e9f | Electronics | $97.45 | 447 | ★ 2.1 | 90 | BULK-18b3ae70 |
| 18680 | Bulk Product 7b8a407f | Sports & Outdoors | $700.68 | 24 | ★ 2.3 | 4 | BULK-64808372 |
| 18681 | Bulk Product 0abab3c0 | Sports & Outdoors | $445.24 | 83 | ★ 1.5 | 42 | BULK-875e1c46 |
| 18682 | Bulk Product c90ac812 | Home & Garden | $611.85 | 275 | ★ 4.4 | 22 | BULK-3ae8e4ee |
| 18683 | Bulk Product 3fbe7a67 | Home & Garden | $760.75 | 259 | ★ 0.1 | 34 | BULK-a528c976 |
| 18684 | Bulk Product 16f40601 | Sports & Outdoors | $479.21 | 33 | ★ 3.0 | 8 | BULK-65fc2ada |
| 18685 | Bulk Product 2d4c392d | Clothing | $586.82 | 295 | ★ 1.8 | 68 | BULK-e4920555 |
| 18686 | Bulk Product e657461c | Toys & Games | $245.62 | 100 | ★ 0.2 | 3 | BULK-0f20f9ad |
| 18687 | Bulk Product 557fa2f9 | Toys & Games | $782.99 | 280 | ★ 2.1 | 71 | BULK-48b7bd1a |
| 18688 | Bulk Product 5a8b1d68 | Electronics | $114.79 | 259 | ★ 4.2 | 55 | BULK-38a8175f |
| 18689 | Bulk Product f4222af8 | Sports & Outdoors | $30.07 | 92 | ★ 2.1 | 41 | BULK-ddd131bc |
| 18690 | Bulk Product fd960863 | Toys & Games | $639.18 | 305 | ★ 2.9 | 76 | BULK-b0e1f007 |
| 18691 | Bulk Product 158a2d1a | Books | $715.62 | 353 | ★ 2.4 | 9 | BULK-6b4a5636 |
| 18692 | Bulk Product fbcf9153 | Sports & Outdoors | $397.70 | 374 | ★ 0.8 | 96 | BULK-4948b8e9 |
| 18693 | Bulk Product 0cbfc3f0 | Clothing | $118.67 | 115 | ★ 3.1 | 99 | BULK-a9440e02 |
| 18694 | Bulk Product 68dcac01 | Electronics | $686.87 | 74 | ★ 0.6 | 25 | BULK-4d83751d |
| 18695 | Bulk Product 706fdd31 | Home & Garden | $973.61 | 291 | ★ 0.9 | 93 | BULK-b9d01f05 |
| 18696 | Bulk Product ec7c0d6e | Home & Garden | $224.43 | 101 | ★ 2.0 | 65 | BULK-6a6eddca |
| 18697 | Bulk Product e3207f27 | Electronics | $959.81 | 152 | ★ 4.5 | 61 | BULK-ac5a9b73 |
| 18698 | Bulk Product c5b8b674 | Toys & Games | $329.02 | 431 | ★ 1.6 | 71 | BULK-d299e777 |
| 18699 | Bulk Product 001a06c1 | Electronics | $185.49 | 238 | ★ 4.8 | 95 | BULK-05830133 |
| 18700 | Bulk Product 34ca7451 | Home & Garden | $595.24 | 481 | ★ 1.3 | 85 | BULK-4045e654 |
| 18701 | Bulk Product 9ad6a1d6 | Toys & Games | $819.23 | 378 | ★ 3.9 | 4 | BULK-392027a0 |
| 18702 | Bulk Product 749a65a8 | Electronics | $73.03 | 439 | ★ 4.4 | 0 | BULK-17814405 |
| 18703 | Bulk Product 2b08aac0 | Home & Garden | $178.25 | 390 | ★ 2.2 | 5 | BULK-0f337be5 |
| 18704 | Bulk Product 36a7eeb7 | Electronics | $348.51 | 356 | ★ 2.5 | 23 | BULK-143e061f |
| 18705 | Bulk Product 502ddc13 | Electronics | $552.05 | 209 | ★ 1.4 | 62 | BULK-17c77cb3 |
| 18706 | Bulk Product 819db8f5 | Toys & Games | $94.83 | 285 | ★ 0.9 | 10 | BULK-36b68c7e |
| 18707 | Bulk Product 7ea14e15 | Home & Garden | $811.67 | 386 | ★ 4.8 | 8 | BULK-8a61673c |
| 18708 | Bulk Product 5f7cc634 | Clothing | $180.97 | 135 | ★ 2.6 | 91 | BULK-5b4f531e |
| 18709 | Bulk Product 9571e49b | Books | $172.87 | 135 | ★ 4.6 | 47 | BULK-8cfbd119 |
// 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
};
}