Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 16810 | Bulk Product fd4f387f | Toys & Games | $625.32 | 39 | ★ 4.6 | 53 | BULK-9eb14fa9 |
| 16811 | Bulk Product 728daae9 | Clothing | $503.49 | 123 | ★ 2.0 | 41 | BULK-03ba53b2 |
| 16812 | Bulk Product 0b34eaf2 | Clothing | $89.62 | 410 | ★ 2.5 | 56 | BULK-5d429cb8 |
| 16813 | Bulk Product e85b8a82 | Books | $250.18 | 286 | ★ 4.8 | 2 | BULK-53edb427 |
| 16814 | Bulk Product 51c83c7c | Books | $65.92 | 317 | ★ 2.4 | 94 | BULK-2ade4c2c |
| 16815 | Bulk Product 0fd18531 | Home & Garden | $187.68 | 165 | ★ 1.5 | 36 | BULK-368c81ae |
| 16816 | Bulk Product f587a606 | Clothing | $853.27 | 336 | ★ 4.1 | 4 | BULK-487c9106 |
| 16817 | Bulk Product d6cc99b2 | Clothing | $822.42 | 206 | ★ 4.1 | 8 | BULK-f905a752 |
| 16818 | Bulk Product 67c3c2d1 | Sports & Outdoors | $649.67 | 433 | ★ 2.1 | 44 | BULK-aa28a4d4 |
| 16819 | Bulk Product 0acc1a51 | Books | $726.09 | 328 | ★ 1.4 | 79 | BULK-dd4546fb |
| 16820 | Bulk Product b6f17f8c | Home & Garden | $990.29 | 389 | ★ 3.3 | 89 | BULK-733bd4e5 |
| 16821 | Bulk Product 13e989b0 | Toys & Games | $28.69 | 335 | ★ 0.9 | 13 | BULK-cc93c5f9 |
| 16822 | Bulk Product f368cd9d | Home & Garden | $421.61 | 56 | ★ 3.1 | 82 | BULK-b4eecb61 |
| 16823 | Bulk Product c139322e | Electronics | $22.99 | 488 | ★ 4.1 | 37 | BULK-d952d576 |
| 16824 | Bulk Product a59c4806 | Books | $115.56 | 195 | ★ 0.8 | 8 | BULK-3e41d822 |
| 16825 | Bulk Product 9a3a7394 | Toys & Games | $846.82 | 300 | ★ 4.5 | 29 | BULK-e465ed9a |
| 16826 | Bulk Product 8e98efb0 | Electronics | $988.42 | 106 | ★ 1.1 | 83 | BULK-ed7f7be2 |
| 16827 | Bulk Product 7082b329 | Home & Garden | $198.70 | 193 | ★ 0.7 | 73 | BULK-ff8cccbd |
| 16828 | Bulk Product fdd3121d | Sports & Outdoors | $858.14 | 136 | ★ 2.0 | 91 | BULK-1e99cbad |
| 16829 | Bulk Product 94a7fb1d | Sports & Outdoors | $233.53 | 355 | ★ 4.9 | 65 | BULK-585e4fcc |
| 16830 | Bulk Product 7230562d | Sports & Outdoors | $407.16 | 205 | ★ 3.4 | 47 | BULK-13e54f7e |
| 16831 | Bulk Product e72b71cc | Electronics | $238.64 | 411 | ★ 2.1 | 78 | BULK-9fa35a75 |
| 16832 | Bulk Product eecb7010 | Electronics | $669.91 | 292 | ★ 1.6 | 13 | BULK-0dac1125 |
| 16833 | Bulk Product a3467cae | Books | $300.02 | 81 | ★ 0.6 | 2 | BULK-04089e62 |
| 16834 | Bulk Product 771021b9 | Clothing | $272.52 | 50 | ★ 2.5 | 54 | BULK-1019fbb1 |
| 16835 | Bulk Product 8fe413d4 | Sports & Outdoors | $622.29 | 473 | ★ 3.1 | 17 | BULK-3b9dcbbc |
| 16836 | Bulk Product ab75cf03 | Sports & Outdoors | $236.56 | 327 | ★ 3.9 | 66 | BULK-c5b6fa43 |
| 16837 | Bulk Product be7c5ac4 | Electronics | $10.70 | 101 | ★ 3.6 | 27 | BULK-4f24a81d |
| 16838 | Bulk Product 8db09980 | Electronics | $531.47 | 328 | ★ 3.5 | 33 | BULK-7f3f3a35 |
| 16839 | Bulk Product 662a9d22 | Electronics | $590.21 | 266 | ★ 0.6 | 62 | BULK-06180d51 |
| 16840 | Bulk Product 87381405 | Toys & Games | $105.47 | 393 | ★ 1.6 | 91 | BULK-554c1099 |
| 16841 | Bulk Product 209ca85f | Electronics | $465.73 | 396 | ★ 0.4 | 46 | BULK-de1570b5 |
| 16842 | Bulk Product 8f599b01 | Electronics | $21.57 | 387 | ★ 2.8 | 86 | BULK-a53a7fd1 |
| 16843 | Bulk Product 4c48de08 | Sports & Outdoors | $538.67 | 126 | ★ 3.1 | 72 | BULK-56d1a42c |
| 16844 | Bulk Product e6eefaa1 | Sports & Outdoors | $533.37 | 263 | ★ 2.2 | 40 | BULK-794a44f9 |
| 16845 | Bulk Product 2d63137e | Books | $296.90 | 105 | ★ 1.1 | 15 | BULK-db07b905 |
| 16846 | Bulk Product 1f6ec3ca | Sports & Outdoors | $798.93 | 306 | ★ 0.5 | 47 | BULK-a7c3b57c |
| 16847 | Bulk Product 8c5e8c27 | Toys & Games | $15.54 | 397 | ★ 1.7 | 57 | BULK-a2a949ef |
| 16848 | Bulk Product 058a308b | Toys & Games | $209.36 | 415 | ★ 1.3 | 76 | BULK-bd9d88b9 |
| 16849 | Bulk Product 5b5e741d | Clothing | $486.29 | 295 | ★ 2.8 | 33 | BULK-519bf9f2 |
| 16850 | Bulk Product 7b14b390 | Electronics | $200.52 | 235 | ★ 4.3 | 13 | BULK-70e8d18b |
| 16851 | Bulk Product 6bde2ac7 | Clothing | $428.79 | 8 | ★ 2.9 | 81 | BULK-6bdc7235 |
| 16852 | Bulk Product f346d2b3 | Clothing | $549.35 | 163 | ★ 0.3 | 76 | BULK-60cf96a9 |
| 16853 | Bulk Product 9505bd4e | Sports & Outdoors | $923.58 | 164 | ★ 2.7 | 79 | BULK-18381e4c |
| 16854 | Bulk Product 266efcdb | Sports & Outdoors | $960.67 | 270 | ★ 1.7 | 26 | BULK-aa04147d |
| 16855 | Bulk Product 5ffcede1 | Clothing | $202.37 | 271 | ★ 4.3 | 64 | BULK-5bbfa498 |
| 16856 | Bulk Product 76d27037 | Home & Garden | $347.09 | 191 | ★ 0.8 | 43 | BULK-1bcc3a40 |
| 16857 | Bulk Product ccf15242 | Toys & Games | $685.47 | 40 | ★ 4.0 | 81 | BULK-1ad7e150 |
| 16858 | Bulk Product b97a4b17 | Books | $681.33 | 208 | ★ 0.1 | 31 | BULK-0f81c7a4 |
| 16859 | Bulk Product 7fb1c2ba | Toys & Games | $981.80 | 56 | ★ 4.3 | 0 | BULK-08f52788 |
// 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
};
}