Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 18610 | Bulk Product d6b003cf | Toys & Games | $289.44 | 28 | ★ 0.9 | 89 | BULK-d8a6a726 |
| 18611 | Bulk Product 533f954b | Books | $197.74 | 403 | ★ 1.4 | 9 | BULK-511d33c3 |
| 18612 | Bulk Product b4989385 | Toys & Games | $440.82 | 278 | ★ 4.2 | 27 | BULK-1ce37de1 |
| 18613 | Bulk Product 861d5087 | Clothing | $537.27 | 446 | ★ 3.4 | 17 | BULK-8cbb5c70 |
| 18614 | Bulk Product 7e47bf21 | Toys & Games | $903.59 | 317 | ★ 2.3 | 59 | BULK-e8cec8b8 |
| 18615 | Bulk Product cd285c51 | Electronics | $105.80 | 359 | ★ 1.6 | 95 | BULK-68d776b8 |
| 18616 | Bulk Product 0eea56a6 | Home & Garden | $918.65 | 188 | ★ 3.2 | 79 | BULK-45577c07 |
| 18617 | Bulk Product eefd9e39 | Electronics | $851.38 | 245 | ★ 3.0 | 64 | BULK-ffd89922 |
| 18618 | Bulk Product 13d204c2 | Clothing | $810.66 | 189 | ★ 0.0 | 63 | BULK-b709a436 |
| 18619 | Bulk Product d10c013d | Books | $380.14 | 394 | ★ 2.2 | 76 | BULK-26ea63dc |
| 18620 | Bulk Product ae2c6d7d | Clothing | $46.94 | 16 | ★ 0.1 | 79 | BULK-5d41b18f |
| 18621 | Bulk Product 3dcbf994 | Clothing | $791.55 | 371 | ★ 2.7 | 72 | BULK-1350cbaf |
| 18622 | Bulk Product b2394225 | Clothing | $665.85 | 17 | ★ 3.0 | 24 | BULK-5425486c |
| 18623 | Bulk Product bf0bc0d1 | Clothing | $413.83 | 14 | ★ 2.7 | 57 | BULK-46008a40 |
| 18624 | Bulk Product 7676a767 | Toys & Games | $683.50 | 244 | ★ 3.1 | 49 | BULK-adca9d39 |
| 18625 | Bulk Product 5dbab35d | Sports & Outdoors | $732.93 | 399 | ★ 2.9 | 20 | BULK-23069eee |
| 18626 | Bulk Product 2b99d947 | Sports & Outdoors | $360.59 | 87 | ★ 4.1 | 34 | BULK-2f484f47 |
| 18627 | Bulk Product 0c0943d4 | Toys & Games | $797.57 | 45 | ★ 3.1 | 15 | BULK-07494ae4 |
| 18628 | Bulk Product 596350e3 | Books | $23.88 | 385 | ★ 3.8 | 13 | BULK-bd6d34ee |
| 18629 | Bulk Product 18e7ec6c | Electronics | $886.25 | 285 | ★ 1.2 | 96 | BULK-1da9095b |
| 18630 | Bulk Product fcf188c7 | Home & Garden | $114.02 | 454 | ★ 2.2 | 51 | BULK-14a908ed |
| 18631 | Bulk Product 2fdc75b5 | Books | $180.90 | 369 | ★ 2.7 | 48 | BULK-3b0c90b8 |
| 18632 | Bulk Product ca570613 | Electronics | $187.84 | 146 | ★ 2.8 | 73 | BULK-02841c81 |
| 18633 | Bulk Product 707c49ab | Home & Garden | $95.54 | 386 | ★ 2.2 | 33 | BULK-52194dd7 |
| 18634 | Bulk Product 554d9d0a | Sports & Outdoors | $435.13 | 180 | ★ 3.4 | 48 | BULK-5838640a |
| 18635 | Bulk Product aebc6522 | Books | $173.87 | 65 | ★ 4.7 | 39 | BULK-f7a79021 |
| 18636 | Bulk Product 90023d92 | Books | $491.16 | 93 | ★ 0.6 | 56 | BULK-0bc731cc |
| 18637 | Bulk Product 638f8500 | Toys & Games | $792.14 | 263 | ★ 3.0 | 52 | BULK-2c76aeab |
| 18638 | Bulk Product a5fa9045 | Home & Garden | $651.75 | 474 | ★ 4.9 | 84 | BULK-a146aeb8 |
| 18639 | Bulk Product 856b2cfc | Sports & Outdoors | $948.36 | 53 | ★ 3.2 | 89 | BULK-c1030ab8 |
| 18640 | Bulk Product 984ef24e | Electronics | $287.16 | 379 | ★ 0.8 | 92 | BULK-49a647cc |
| 18641 | Bulk Product 426fe00c | Books | $602.39 | 11 | ★ 2.6 | 36 | BULK-86380d1a |
| 18642 | Bulk Product 0b43e3f6 | Sports & Outdoors | $224.34 | 61 | ★ 4.2 | 57 | BULK-1d259cf4 |
| 18643 | Bulk Product 3a0bd61f | Clothing | $187.03 | 161 | ★ 0.0 | 29 | BULK-5a8dabf6 |
| 18644 | Bulk Product ef765197 | Home & Garden | $60.95 | 172 | ★ 0.8 | 80 | BULK-f4a4e795 |
| 18645 | Bulk Product 5885a458 | Books | $289.15 | 453 | ★ 0.9 | 39 | BULK-9bfba133 |
| 18646 | Bulk Product 08385c59 | Home & Garden | $847.72 | 240 | ★ 2.7 | 51 | BULK-0ec870a8 |
| 18647 | Bulk Product 9b978851 | Books | $587.20 | 307 | ★ 2.2 | 34 | BULK-4ae781c4 |
| 18648 | Bulk Product 7315712b | Home & Garden | $273.40 | 52 | ★ 5.0 | 86 | BULK-6a3c6853 |
| 18649 | Bulk Product 768f559a | Clothing | $165.87 | 436 | ★ 3.7 | 26 | BULK-a1e91b1a |
| 18650 | Bulk Product e87b8068 | Books | $257.59 | 307 | ★ 0.4 | 21 | BULK-d10277fd |
| 18651 | Bulk Product aff34fa9 | Home & Garden | $113.61 | 453 | ★ 4.6 | 86 | BULK-035f82b3 |
| 18652 | Bulk Product 53848ded | Toys & Games | $226.37 | 212 | ★ 2.4 | 27 | BULK-37bbe3fc |
| 18653 | Bulk Product 7ca5144e | Home & Garden | $306.82 | 499 | ★ 4.0 | 45 | BULK-a7827872 |
| 18654 | Bulk Product 567ab870 | Electronics | $254.53 | 25 | ★ 0.1 | 17 | BULK-a5f60e90 |
| 18655 | Bulk Product 6e0f5da2 | Clothing | $822.75 | 65 | ★ 4.6 | 51 | BULK-236d50d1 |
| 18656 | Bulk Product a54d8265 | Sports & Outdoors | $839.21 | 183 | ★ 0.8 | 92 | BULK-32eeb608 |
| 18657 | Bulk Product 074f6c7b | Books | $667.57 | 363 | ★ 4.4 | 24 | BULK-61fd9283 |
| 18658 | Bulk Product c6fe7a2d | Sports & Outdoors | $377.79 | 56 | ★ 2.9 | 26 | BULK-9e2af1a6 |
| 18659 | Bulk Product 10a5dab4 | Toys & Games | $404.84 | 388 | ★ 1.8 | 22 | BULK-29b6d725 |
// 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
};
}