Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 12360 | Bulk Product f040dc87 | Home & Garden | $882.85 | 235 | ★ 0.6 | 90 | BULK-8c201cf6 |
| 12361 | Bulk Product 74d4efa0 | Books | $220.29 | 347 | ★ 0.3 | 55 | BULK-40c2b755 |
| 12362 | Bulk Product a2ea268c | Toys & Games | $286.12 | 407 | ★ 4.6 | 87 | BULK-740221f6 |
| 12363 | Bulk Product 97cea09f | Clothing | $694.98 | 250 | ★ 2.0 | 18 | BULK-f697f171 |
| 12364 | Bulk Product 1e4bade1 | Sports & Outdoors | $272.84 | 312 | ★ 3.1 | 34 | BULK-89abbbe1 |
| 12365 | Bulk Product 2e0fa4be | Electronics | $162.29 | 277 | ★ 0.3 | 24 | BULK-9352f089 |
| 12366 | Bulk Product 8fc3d1f6 | Toys & Games | $339.71 | 147 | ★ 2.8 | 8 | BULK-50496bb7 |
| 12367 | Bulk Product 3bd629ff | Sports & Outdoors | $737.50 | 455 | ★ 0.6 | 40 | BULK-52d89d47 |
| 12368 | Bulk Product 2567334d | Books | $460.30 | 181 | ★ 4.2 | 72 | BULK-38f2f6bd |
| 12369 | Bulk Product b25ffd95 | Books | $174.49 | 71 | ★ 4.6 | 76 | BULK-f20985d8 |
| 12370 | Bulk Product a8ad1703 | Clothing | $682.49 | 467 | ★ 0.2 | 63 | BULK-a1c5002f |
| 12371 | Bulk Product 7e1fc1d4 | Home & Garden | $496.60 | 146 | ★ 3.1 | 90 | BULK-31790896 |
| 12372 | Bulk Product 9630a7c3 | Toys & Games | $786.19 | 426 | ★ 2.3 | 27 | BULK-4fbc615d |
| 12373 | Bulk Product 1969d346 | Home & Garden | $773.31 | 262 | ★ 2.3 | 20 | BULK-26e31564 |
| 12374 | Bulk Product 0c5cdab8 | Toys & Games | $437.27 | 74 | ★ 2.4 | 79 | BULK-5948d857 |
| 12375 | Bulk Product e4d24f1f | Electronics | $165.90 | 371 | ★ 2.1 | 4 | BULK-eedc1724 |
| 12376 | Bulk Product 3b6e9680 | Toys & Games | $112.00 | 391 | ★ 0.5 | 36 | BULK-22c1203e |
| 12377 | Bulk Product 364856c1 | Toys & Games | $751.22 | 295 | ★ 3.0 | 53 | BULK-efcb3e1c |
| 12378 | Bulk Product b82e8a88 | Sports & Outdoors | $860.84 | 432 | ★ 1.3 | 74 | BULK-bd980fc7 |
| 12379 | Bulk Product 252c8968 | Electronics | $840.93 | 486 | ★ 1.0 | 91 | BULK-c02c53c1 |
| 12380 | Bulk Product 95d5de8e | Clothing | $632.96 | 49 | ★ 4.6 | 18 | BULK-d27f44d7 |
| 12381 | Bulk Product 4d034188 | Home & Garden | $840.89 | 241 | ★ 2.9 | 37 | BULK-54abc85b |
| 12382 | Bulk Product 4cb99223 | Home & Garden | $325.50 | 465 | ★ 1.7 | 44 | BULK-9b668520 |
| 12383 | Bulk Product 1b62fd60 | Sports & Outdoors | $424.31 | 387 | ★ 0.4 | 68 | BULK-8bf4dab0 |
| 12384 | Bulk Product 10f6f6ce | Electronics | $844.81 | 16 | ★ 0.2 | 29 | BULK-e7e919f6 |
| 12385 | Bulk Product fab74a2c | Sports & Outdoors | $885.78 | 297 | ★ 3.5 | 49 | BULK-51b131d0 |
| 12386 | Bulk Product f4db33fa | Toys & Games | $175.38 | 431 | ★ 2.8 | 86 | BULK-d4af1fc3 |
| 12387 | Bulk Product 284ee40f | Home & Garden | $948.87 | 88 | ★ 1.0 | 78 | BULK-48780ea1 |
| 12388 | Bulk Product 6b19eec8 | Home & Garden | $940.02 | 29 | ★ 3.8 | 36 | BULK-cc335fe0 |
| 12389 | Bulk Product 8b713032 | Books | $446.32 | 286 | ★ 5.0 | 2 | BULK-2acc3e48 |
| 12390 | Bulk Product dc6ab225 | Books | $764.32 | 142 | ★ 2.7 | 36 | BULK-110dafff |
| 12391 | Bulk Product b713abde | Books | $507.52 | 145 | ★ 4.7 | 68 | BULK-0fecafb2 |
| 12392 | Bulk Product cf09e014 | Electronics | $166.50 | 248 | ★ 2.9 | 55 | BULK-f7959757 |
| 12393 | Bulk Product 4fa8bc4c | Sports & Outdoors | $168.00 | 365 | ★ 3.0 | 3 | BULK-f51b2224 |
| 12394 | Bulk Product 5d645e99 | Electronics | $53.08 | 255 | ★ 4.5 | 37 | BULK-0c40eae9 |
| 12395 | Bulk Product 13ff6ad0 | Home & Garden | $261.06 | 86 | ★ 4.6 | 34 | BULK-1ba25021 |
| 12396 | Bulk Product 63a37d63 | Electronics | $379.65 | 183 | ★ 2.1 | 76 | BULK-6ebb8673 |
| 12397 | Bulk Product 1fa25a7a | Books | $858.14 | 445 | ★ 2.5 | 60 | BULK-4c318f40 |
| 12398 | Bulk Product ba3827ee | Clothing | $10.76 | 377 | ★ 2.6 | 63 | BULK-0fc57159 |
| 12399 | Bulk Product 5e8d2c5e | Toys & Games | $619.01 | 154 | ★ 3.0 | 99 | BULK-0fb6abc3 |
| 12400 | Bulk Product e0e9b35f | Sports & Outdoors | $467.64 | 3 | ★ 4.4 | 21 | BULK-8a0eb15b |
| 12401 | Bulk Product fd832a0f | Toys & Games | $332.01 | 194 | ★ 1.7 | 80 | BULK-93b8b0b6 |
| 12402 | Bulk Product 86fbf0bc | Electronics | $36.71 | 462 | ★ 4.3 | 42 | BULK-8a3a6403 |
| 12403 | Bulk Product df8791db | Toys & Games | $424.22 | 258 | ★ 4.9 | 21 | BULK-ff100c44 |
| 12404 | Bulk Product cc299990 | Clothing | $686.43 | 4 | ★ 1.3 | 78 | BULK-c98d1748 |
| 12405 | Bulk Product c7a97a45 | Electronics | $638.49 | 384 | ★ 2.3 | 52 | BULK-a71e65d2 |
| 12406 | Bulk Product ce4fa4a5 | Toys & Games | $930.32 | 263 | ★ 4.0 | 15 | BULK-3b95f9a8 |
| 12407 | Bulk Product 1703493d | Sports & Outdoors | $600.93 | 369 | ★ 0.1 | 28 | BULK-1315b599 |
| 12408 | Bulk Product 2cf87a10 | Electronics | $478.61 | 401 | ★ 3.0 | 67 | BULK-1cb0f465 |
| 12409 | Bulk Product c78050f5 | Sports & Outdoors | $530.30 | 126 | ★ 1.9 | 70 | BULK-c9604110 |
// 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
};
}