Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 5210 | Bulk Product ab2339f9 | Electronics | $334.30 | 132 | ★ 3.5 | 13 | BULK-9bd630e9 |
| 5211 | Bulk Product 60688a50 | Clothing | $239.09 | 448 | ★ 2.9 | 67 | BULK-666b9297 |
| 5212 | Bulk Product cd9f42a8 | Books | $259.75 | 79 | ★ 0.2 | 78 | BULK-5e115103 |
| 5213 | Bulk Product 8e3743a9 | Home & Garden | $581.67 | 244 | ★ 3.2 | 47 | BULK-860386aa |
| 5214 | Bulk Product da7ef57b | Toys & Games | $342.54 | 331 | ★ 1.4 | 20 | BULK-f696e1f6 |
| 5215 | Bulk Product 3e7b03b5 | Toys & Games | $128.54 | 223 | ★ 2.9 | 59 | BULK-d669dd81 |
| 5216 | Bulk Product ccff7055 | Home & Garden | $774.33 | 79 | ★ 1.2 | 65 | BULK-a62cf6d5 |
| 5217 | Bulk Product 642adfec | Clothing | $753.44 | 445 | ★ 0.6 | 87 | BULK-0ddaf125 |
| 5218 | Bulk Product e14cecbe | Books | $713.28 | 109 | ★ 4.7 | 14 | BULK-8c8c4ffa |
| 5219 | Bulk Product 2bc6dae3 | Toys & Games | $604.04 | 271 | ★ 1.9 | 73 | BULK-80c73e7f |
| 5220 | Bulk Product 41869f30 | Electronics | $809.30 | 457 | ★ 2.2 | 61 | BULK-8e4d341a |
| 5221 | Bulk Product 2bb16f58 | Toys & Games | $291.47 | 353 | ★ 2.6 | 37 | BULK-5b3d055e |
| 5222 | Bulk Product c1f9e0f2 | Sports & Outdoors | $481.51 | 476 | ★ 4.9 | 47 | BULK-4b35cfbe |
| 5223 | Bulk Product 3c7a0ba3 | Clothing | $396.85 | 207 | ★ 1.7 | 69 | BULK-85826ef7 |
| 5224 | Bulk Product 7d968f7e | Sports & Outdoors | $657.24 | 246 | ★ 2.1 | 85 | BULK-6202ae5e |
| 5225 | Bulk Product aa29e83f | Home & Garden | $970.66 | 89 | ★ 1.6 | 90 | BULK-f46e4d23 |
| 5226 | Bulk Product 58770908 | Books | $241.91 | 424 | ★ 4.9 | 0 | BULK-2aedb8fa |
| 5227 | Bulk Product be196d1d | Home & Garden | $54.83 | 11 | ★ 0.6 | 74 | BULK-1e086c78 |
| 5228 | Bulk Product f9a83148 | Books | $416.20 | 217 | ★ 2.5 | 47 | BULK-3e54515f |
| 5229 | Bulk Product 8bc83ea4 | Clothing | $187.68 | 410 | ★ 1.9 | 88 | BULK-db2cca0d |
| 5230 | Bulk Product c6d18956 | Sports & Outdoors | $374.63 | 76 | ★ 2.8 | 95 | BULK-4ac860ac |
| 5231 | Bulk Product dd9f79cc | Toys & Games | $916.24 | 402 | ★ 1.9 | 91 | BULK-ba614805 |
| 5232 | Bulk Product b8969ce3 | Toys & Games | $827.16 | 416 | ★ 4.2 | 13 | BULK-366ad8dd |
| 5233 | Bulk Product 1698f913 | Books | $855.69 | 401 | ★ 1.9 | 85 | BULK-45380d67 |
| 5234 | Bulk Product efd24e2e | Books | $205.92 | 93 | ★ 3.3 | 31 | BULK-7f5db1c0 |
| 5235 | Bulk Product 0a950b03 | Home & Garden | $258.08 | 144 | ★ 0.9 | 42 | BULK-c016d96a |
| 5236 | Bulk Product 09a59f33 | Home & Garden | $735.97 | 395 | ★ 2.7 | 7 | BULK-1a7632ac |
| 5237 | Bulk Product 7e76caa8 | Toys & Games | $970.71 | 360 | ★ 1.3 | 14 | BULK-b3bc1c47 |
| 5238 | Bulk Product 916821a7 | Sports & Outdoors | $78.49 | 104 | ★ 1.5 | 21 | BULK-cbd727e1 |
| 5239 | Bulk Product 48f9fece | Home & Garden | $733.87 | 488 | ★ 2.9 | 9 | BULK-e753d883 |
| 5240 | Bulk Product 392080e9 | Home & Garden | $823.27 | 37 | ★ 3.9 | 68 | BULK-d791fa09 |
| 5241 | Bulk Product c78ffd97 | Sports & Outdoors | $667.47 | 272 | ★ 1.8 | 53 | BULK-98157fab |
| 5242 | Bulk Product e62103a5 | Electronics | $424.48 | 481 | ★ 4.0 | 12 | BULK-389814cb |
| 5243 | Bulk Product 3b5a8321 | Clothing | $509.26 | 375 | ★ 0.0 | 14 | BULK-2e650415 |
| 5244 | Bulk Product 18d583ea | Toys & Games | $14.36 | 477 | ★ 4.4 | 93 | BULK-1fb6b527 |
| 5245 | Bulk Product c85bce04 | Toys & Games | $692.30 | 481 | ★ 5.0 | 94 | BULK-d9a63527 |
| 5246 | Bulk Product 12b8d844 | Toys & Games | $412.78 | 494 | ★ 1.2 | 52 | BULK-5e3bbc96 |
| 5247 | Bulk Product f9fa5324 | Clothing | $425.27 | 411 | ★ 2.9 | 15 | BULK-eed94705 |
| 5248 | Bulk Product ef381b71 | Electronics | $529.57 | 277 | ★ 2.0 | 54 | BULK-17b73a33 |
| 5249 | Bulk Product 4ea92183 | Home & Garden | $121.08 | 36 | ★ 3.3 | 96 | BULK-4842734e |
| 5250 | Bulk Product 3d1d926a | Toys & Games | $607.08 | 377 | ★ 1.4 | 14 | BULK-e4842470 |
| 5251 | Bulk Product b65e7b23 | Electronics | $794.81 | 228 | ★ 0.9 | 90 | BULK-d93dd7ca |
| 5252 | Bulk Product 3ddb6256 | Clothing | $774.40 | 71 | ★ 1.8 | 38 | BULK-17c76621 |
| 5253 | Bulk Product bfd4818c | Home & Garden | $985.23 | 18 | ★ 4.6 | 81 | BULK-014fbf6f |
| 5254 | Bulk Product a81b80d5 | Books | $89.73 | 150 | ★ 4.5 | 67 | BULK-89e6eaf7 |
| 5255 | Bulk Product e7a56ed9 | Home & Garden | $459.55 | 486 | ★ 0.8 | 4 | BULK-069e2366 |
| 5256 | Bulk Product 646eb1a8 | Books | $961.19 | 37 | ★ 4.7 | 30 | BULK-f00f604c |
| 5257 | Bulk Product 6e1fb087 | Books | $436.94 | 206 | ★ 2.8 | 26 | BULK-95bfa32c |
| 5258 | Bulk Product 43321864 | Home & Garden | $1,007.24 | 313 | ★ 3.4 | 41 | BULK-d67becbf |
| 5259 | Bulk Product 5bc99a55 | Books | $1,009.85 | 92 | ★ 3.9 | 15 | BULK-68619bf2 |
// 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
};
}