Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 7660 | Bulk Product b3ea80b9 | Books | $48.99 | 85 | ★ 3.3 | 48 | BULK-ca813dce |
| 7661 | Bulk Product 23753e83 | Sports & Outdoors | $868.97 | 458 | ★ 1.6 | 72 | BULK-26c1f6bd |
| 7662 | Bulk Product cabd91f0 | Electronics | $346.71 | 451 | ★ 2.8 | 23 | BULK-2f5cf010 |
| 7663 | Bulk Product 8a62f82b | Sports & Outdoors | $507.53 | 136 | ★ 2.0 | 72 | BULK-1d591909 |
| 7664 | Bulk Product 1a4eba57 | Clothing | $120.79 | 459 | ★ 5.0 | 36 | BULK-1bfb603a |
| 7665 | Bulk Product 2d86a094 | Clothing | $576.60 | 341 | ★ 1.5 | 20 | BULK-84155dcd |
| 7666 | Bulk Product 9a57d84e | Toys & Games | $992.31 | 205 | ★ 3.3 | 78 | BULK-5ad9521e |
| 7667 | Bulk Product 9924a242 | Toys & Games | $491.27 | 145 | ★ 3.4 | 35 | BULK-87351028 |
| 7668 | Bulk Product 0094d4e8 | Electronics | $624.23 | 42 | ★ 2.9 | 87 | BULK-c698a23f |
| 7669 | Bulk Product f2c42ee4 | Books | $174.68 | 72 | ★ 2.5 | 63 | BULK-8b28b19b |
| 7670 | Bulk Product 64f2f52b | Home & Garden | $923.18 | 66 | ★ 2.5 | 61 | BULK-d0da6a66 |
| 7671 | Bulk Product d62e6e1c | Electronics | $912.36 | 1 | ★ 3.9 | 43 | BULK-3ecff0e6 |
| 7672 | Bulk Product b0da142d | Sports & Outdoors | $132.13 | 130 | ★ 0.2 | 69 | BULK-48e22743 |
| 7673 | Bulk Product a992a584 | Electronics | $13.37 | 468 | ★ 0.7 | 32 | BULK-659d3d61 |
| 7674 | Bulk Product 0d2f1d2e | Sports & Outdoors | $205.47 | 203 | ★ 1.4 | 39 | BULK-01369688 |
| 7675 | Bulk Product e1a2a121 | Electronics | $901.60 | 418 | ★ 3.8 | 66 | BULK-0a5d08f8 |
| 7676 | Bulk Product a61834be | Toys & Games | $31.95 | 113 | ★ 4.4 | 42 | BULK-d1b3f6de |
| 7677 | Bulk Product 4f639c84 | Home & Garden | $123.03 | 123 | ★ 4.6 | 73 | BULK-8e735e29 |
| 7678 | Bulk Product cddee4e1 | Books | $974.21 | 45 | ★ 2.6 | 23 | BULK-8178cd2b |
| 7679 | Bulk Product 791f5161 | Home & Garden | $52.96 | 159 | ★ 4.5 | 37 | BULK-63fea041 |
| 7680 | Bulk Product a03d466a | Clothing | $626.45 | 276 | ★ 0.7 | 68 | BULK-d5ebf8db |
| 7681 | Bulk Product cce64aab | Sports & Outdoors | $658.02 | 404 | ★ 3.6 | 96 | BULK-10c6f833 |
| 7682 | Bulk Product d9a59d05 | Toys & Games | $115.96 | 162 | ★ 0.2 | 70 | BULK-b09ddd8a |
| 7683 | Bulk Product de37b128 | Clothing | $706.72 | 116 | ★ 1.6 | 78 | BULK-1b2a3d92 |
| 7684 | Bulk Product 8f9f7840 | Toys & Games | $91.75 | 163 | ★ 2.9 | 3 | BULK-1684021d |
| 7685 | Bulk Product d2dbe45b | Clothing | $334.51 | 417 | ★ 2.8 | 68 | BULK-e4b01430 |
| 7686 | Bulk Product 1a0347f8 | Toys & Games | $378.38 | 148 | ★ 0.8 | 93 | BULK-1eec6545 |
| 7687 | Bulk Product f404eaa9 | Sports & Outdoors | $857.70 | 291 | ★ 2.6 | 39 | BULK-95e0a053 |
| 7688 | Bulk Product 076c4e93 | Sports & Outdoors | $645.75 | 432 | ★ 3.6 | 97 | BULK-b18eb5f6 |
| 7689 | Bulk Product 56fc2374 | Toys & Games | $280.39 | 236 | ★ 0.0 | 17 | BULK-3b7728e3 |
| 7690 | Bulk Product 40625909 | Books | $776.30 | 498 | ★ 2.0 | 78 | BULK-9336d094 |
| 7691 | Bulk Product 16d1ae0d | Toys & Games | $986.36 | 74 | ★ 2.9 | 47 | BULK-686a8e00 |
| 7692 | Bulk Product 7715e55f | Home & Garden | $512.09 | 2 | ★ 1.7 | 36 | BULK-0c853889 |
| 7693 | Bulk Product 7a4a67f0 | Toys & Games | $631.38 | 12 | ★ 0.1 | 10 | BULK-7ab53eab |
| 7694 | Bulk Product 2f09e982 | Sports & Outdoors | $495.87 | 29 | ★ 2.0 | 5 | BULK-8d9af956 |
| 7695 | Bulk Product 352f7f3a | Sports & Outdoors | $288.57 | 458 | ★ 4.3 | 15 | BULK-b564c0a1 |
| 7696 | Bulk Product f321a119 | Books | $589.43 | 6 | ★ 2.1 | 2 | BULK-c3960258 |
| 7697 | Bulk Product 9491d3fe | Electronics | $734.31 | 350 | ★ 1.3 | 24 | BULK-b7006b76 |
| 7698 | Bulk Product 912a3e46 | Home & Garden | $478.08 | 11 | ★ 0.9 | 58 | BULK-075b2d57 |
| 7699 | Bulk Product 66b2b7a4 | Clothing | $814.47 | 92 | ★ 2.1 | 90 | BULK-2c9951fe |
| 7700 | Bulk Product 61d67410 | Electronics | $914.72 | 300 | ★ 3.9 | 53 | BULK-ed556423 |
| 7701 | Bulk Product 8d05d214 | Books | $96.49 | 271 | ★ 0.4 | 16 | BULK-1eb00b4a |
| 7702 | Bulk Product 642afb48 | Home & Garden | $133.73 | 422 | ★ 1.4 | 41 | BULK-f20f1c9f |
| 7703 | Bulk Product 0df17175 | Home & Garden | $583.76 | 491 | ★ 2.9 | 32 | BULK-f1456e3d |
| 7704 | Bulk Product f497510f | Toys & Games | $131.55 | 287 | ★ 0.8 | 70 | BULK-790ccdde |
| 7705 | Bulk Product 1cc0d063 | Sports & Outdoors | $286.55 | 321 | ★ 4.4 | 66 | BULK-8488cb12 |
| 7706 | Bulk Product 47e42fa4 | Toys & Games | $204.01 | 423 | ★ 3.0 | 38 | BULK-6036c519 |
| 7707 | Bulk Product e2fc3891 | Sports & Outdoors | $678.48 | 348 | ★ 1.2 | 55 | BULK-3b4ff48f |
| 7708 | Bulk Product 9812d18a | Toys & Games | $630.31 | 171 | ★ 2.1 | 52 | BULK-b337d6ea |
| 7709 | Bulk Product 28affaec | Home & Garden | $806.40 | 428 | ★ 2.0 | 15 | BULK-f0734e8c |
// 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
};
}