Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 17860 | Bulk Product 5b44019c | Toys & Games | $706.14 | 440 | ★ 2.2 | 2 | BULK-9d0ad48c |
| 17861 | Bulk Product f83319f1 | Home & Garden | $46.39 | 257 | ★ 2.2 | 99 | BULK-c958224d |
| 17862 | Bulk Product 838bfecd | Home & Garden | $491.88 | 93 | ★ 3.7 | 42 | BULK-8659e298 |
| 17863 | Bulk Product 0e947519 | Electronics | $607.05 | 390 | ★ 2.4 | 79 | BULK-d9d48a22 |
| 17864 | Bulk Product 3e0c9d61 | Toys & Games | $965.33 | 237 | ★ 1.3 | 62 | BULK-8a73b5ec |
| 17865 | Bulk Product 6c760210 | Books | $586.74 | 49 | ★ 0.0 | 27 | BULK-50ad3f92 |
| 17866 | Bulk Product f1fc5451 | Books | $185.20 | 149 | ★ 4.0 | 80 | BULK-6dd2f7a8 |
| 17867 | Bulk Product 297a1ee0 | Home & Garden | $364.96 | 275 | ★ 1.2 | 67 | BULK-7c966de5 |
| 17868 | Bulk Product 4e34740b | Clothing | $493.50 | 93 | ★ 4.1 | 41 | BULK-25294db1 |
| 17869 | Bulk Product 6da48805 | Sports & Outdoors | $711.87 | 125 | ★ 4.3 | 1 | BULK-363c48b0 |
| 17870 | Bulk Product b250caa6 | Home & Garden | $774.99 | 483 | ★ 4.5 | 21 | BULK-4131d061 |
| 17871 | Bulk Product a7c0d0e4 | Books | $903.37 | 291 | ★ 3.9 | 74 | BULK-1b883563 |
| 17872 | Bulk Product c652afe9 | Clothing | $234.56 | 475 | ★ 2.2 | 32 | BULK-cb25d384 |
| 17873 | Bulk Product 02c68a6d | Clothing | $204.53 | 109 | ★ 0.9 | 80 | BULK-cc4554f1 |
| 17874 | Bulk Product d742ce36 | Sports & Outdoors | $387.62 | 5 | ★ 3.5 | 25 | BULK-0f118da5 |
| 17875 | Bulk Product 829f339b | Home & Garden | $590.01 | 468 | ★ 0.0 | 6 | BULK-247fefbb |
| 17876 | Bulk Product 00572ab4 | Home & Garden | $371.05 | 164 | ★ 0.3 | 86 | BULK-33562654 |
| 17877 | Bulk Product 63a56078 | Sports & Outdoors | $388.21 | 228 | ★ 4.2 | 55 | BULK-8a556899 |
| 17878 | Bulk Product 0ec7219d | Books | $123.39 | 301 | ★ 0.6 | 22 | BULK-89bdb789 |
| 17879 | Bulk Product 950b6c0e | Home & Garden | $698.12 | 474 | ★ 1.2 | 79 | BULK-72de8335 |
| 17880 | Bulk Product b054bd1b | Home & Garden | $171.33 | 199 | ★ 0.5 | 28 | BULK-24e4e4cb |
| 17881 | Bulk Product e07fb92e | Clothing | $386.56 | 101 | ★ 3.4 | 49 | BULK-0bdc5940 |
| 17882 | Bulk Product bb23c63f | Toys & Games | $667.15 | 177 | ★ 3.4 | 10 | BULK-e5965578 |
| 17883 | Bulk Product cee71bca | Clothing | $457.16 | 27 | ★ 2.4 | 40 | BULK-732f2872 |
| 17884 | Bulk Product 663ebee4 | Books | $934.82 | 125 | ★ 3.9 | 50 | BULK-f6e489fd |
| 17885 | Bulk Product 0ec4bb45 | Electronics | $876.61 | 158 | ★ 1.9 | 48 | BULK-0fccecbc |
| 17886 | Bulk Product c6a6f35a | Toys & Games | $308.47 | 54 | ★ 3.0 | 96 | BULK-952e58c2 |
| 17887 | Bulk Product 31cc6ce8 | Clothing | $479.57 | 364 | ★ 2.7 | 55 | BULK-2de55317 |
| 17888 | Bulk Product b5141dbb | Electronics | $663.01 | 477 | ★ 0.3 | 11 | BULK-aa04fb4c |
| 17889 | Bulk Product fdc0274f | Books | $103.04 | 343 | ★ 0.3 | 76 | BULK-7f783b99 |
| 17890 | Bulk Product 0dd49af1 | Home & Garden | $894.45 | 49 | ★ 0.9 | 81 | BULK-93025288 |
| 17891 | Bulk Product 602794dc | Sports & Outdoors | $538.96 | 457 | ★ 3.2 | 8 | BULK-2aadf246 |
| 17892 | Bulk Product dbb76fec | Books | $142.39 | 17 | ★ 1.4 | 23 | BULK-6c151e4c |
| 17893 | Bulk Product 7a63bb34 | Toys & Games | $702.36 | 294 | ★ 4.5 | 66 | BULK-d322fb71 |
| 17894 | Bulk Product cdbcf14c | Home & Garden | $761.44 | 76 | ★ 4.3 | 23 | BULK-00e6a89d |
| 17895 | Bulk Product 66ba8903 | Clothing | $782.62 | 499 | ★ 0.1 | 82 | BULK-932cc0d4 |
| 17896 | Bulk Product d899875c | Home & Garden | $552.01 | 449 | ★ 4.9 | 60 | BULK-e04c6682 |
| 17897 | Bulk Product 7ef184e4 | Toys & Games | $571.58 | 38 | ★ 2.3 | 97 | BULK-4ebae2b3 |
| 17898 | Bulk Product c86860a1 | Electronics | $283.91 | 350 | ★ 4.6 | 7 | BULK-e2d32cf4 |
| 17899 | Bulk Product 0511549e | Toys & Games | $815.14 | 3 | ★ 0.1 | 37 | BULK-2a6be549 |
| 17900 | Bulk Product 7f1d016e | Electronics | $147.14 | 111 | ★ 4.7 | 59 | BULK-f0675c4c |
| 17901 | Bulk Product ba01daad | Clothing | $478.78 | 27 | ★ 0.1 | 93 | BULK-7ac0b0ac |
| 17902 | Bulk Product 4b592ecc | Clothing | $452.29 | 354 | ★ 3.5 | 81 | BULK-2b512ea6 |
| 17903 | Bulk Product 44bb9c36 | Clothing | $843.06 | 144 | ★ 1.5 | 80 | BULK-2536703b |
| 17904 | Bulk Product 18115f1a | Home & Garden | $539.09 | 65 | ★ 4.3 | 15 | BULK-3ca1379e |
| 17905 | Bulk Product f23c50fa | Sports & Outdoors | $655.99 | 167 | ★ 0.0 | 39 | BULK-ed1ab129 |
| 17906 | Bulk Product b9069bcd | Toys & Games | $609.01 | 488 | ★ 0.8 | 52 | BULK-8572af8d |
| 17907 | Bulk Product cb198a08 | Books | $657.07 | 235 | ★ 2.6 | 55 | BULK-91103285 |
| 17908 | Bulk Product 3b88e202 | Home & Garden | $679.57 | 485 | ★ 1.0 | 21 | BULK-315c7a93 |
| 17909 | Bulk Product 964ef897 | Toys & Games | $957.67 | 201 | ★ 4.2 | 44 | BULK-0f41dc75 |
// 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
};
}