Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 20760 | Bulk Product d6fcd481 | Home & Garden | $565.52 | 58 | ★ 2.4 | 40 | BULK-2b0b6808 |
| 20761 | Bulk Product 57106f00 | Books | $154.69 | 194 | ★ 1.9 | 64 | BULK-be347978 |
| 20762 | Bulk Product 346328ab | Sports & Outdoors | $805.74 | 208 | ★ 2.6 | 35 | BULK-f13e2bae |
| 20763 | Bulk Product b41a4a04 | Sports & Outdoors | $839.81 | 48 | ★ 1.4 | 65 | BULK-33f0073b |
| 20764 | Bulk Product 13f06b79 | Sports & Outdoors | $742.92 | 196 | ★ 0.3 | 15 | BULK-37fb4cfc |
| 20765 | Bulk Product 9eab913f | Electronics | $34.21 | 223 | ★ 1.1 | 71 | BULK-055b9f06 |
| 20766 | Bulk Product aa6c21f3 | Books | $951.17 | 307 | ★ 2.3 | 33 | BULK-4d2678a1 |
| 20767 | Bulk Product ed0e48c8 | Toys & Games | $215.73 | 83 | ★ 3.0 | 41 | BULK-a4837d3d |
| 20768 | Bulk Product 2201dea8 | Clothing | $390.51 | 346 | ★ 3.7 | 12 | BULK-272bf07f |
| 20769 | Bulk Product 58d443be | Home & Garden | $251.98 | 162 | ★ 4.4 | 91 | BULK-0c4e4d68 |
| 20770 | Bulk Product 804d46bf | Home & Garden | $416.11 | 205 | ★ 0.3 | 17 | BULK-bbe05012 |
| 20771 | Bulk Product 0046cf1c | Toys & Games | $809.68 | 331 | ★ 4.3 | 39 | BULK-ab1cbf7e |
| 20772 | Bulk Product 71ad87f6 | Home & Garden | $698.74 | 37 | ★ 0.3 | 65 | BULK-85671169 |
| 20773 | Bulk Product 3bbfe7fb | Sports & Outdoors | $1,009.92 | 368 | ★ 4.0 | 62 | BULK-b8583c30 |
| 20774 | Bulk Product 2aada98a | Books | $195.87 | 295 | ★ 1.6 | 63 | BULK-024ac26f |
| 20775 | Bulk Product c9762524 | Electronics | $348.27 | 38 | ★ 0.6 | 82 | BULK-f3953032 |
| 20776 | Bulk Product fd13de4d | Home & Garden | $546.85 | 207 | ★ 2.9 | 45 | BULK-094fbe4b |
| 20777 | Bulk Product 1f8b5748 | Clothing | $661.96 | 416 | ★ 2.0 | 37 | BULK-d84cdace |
| 20778 | Bulk Product ee6b30b6 | Electronics | $735.73 | 284 | ★ 0.1 | 28 | BULK-2403c30d |
| 20779 | Bulk Product a8881767 | Sports & Outdoors | $347.60 | 382 | ★ 2.6 | 60 | BULK-8a09be5b |
| 20780 | Bulk Product f5b733fe | Books | $364.85 | 107 | ★ 1.0 | 81 | BULK-439e0968 |
| 20781 | Bulk Product ff0ed40f | Clothing | $875.58 | 472 | ★ 0.8 | 62 | BULK-698ce648 |
| 20782 | Bulk Product da0f6960 | Home & Garden | $315.48 | 12 | ★ 1.8 | 44 | BULK-143c2bc3 |
| 20783 | Bulk Product dd8ce975 | Electronics | $433.37 | 26 | ★ 2.4 | 55 | BULK-e7a1fb4f |
| 20784 | Bulk Product 60dff460 | Clothing | $391.76 | 392 | ★ 2.8 | 71 | BULK-858079d2 |
| 20785 | Bulk Product d38c1c6a | Books | $289.14 | 145 | ★ 0.9 | 4 | BULK-30e810c6 |
| 20786 | Bulk Product 7b318a37 | Home & Garden | $1,009.70 | 274 | ★ 0.4 | 6 | BULK-32b2a30f |
| 20787 | Bulk Product b77f992c | Electronics | $923.23 | 115 | ★ 4.6 | 25 | BULK-d2b7f44c |
| 20788 | Bulk Product f95c2fe3 | Books | $692.51 | 61 | ★ 2.5 | 7 | BULK-7c66d076 |
| 20789 | Bulk Product f1287316 | Home & Garden | $878.67 | 318 | ★ 0.4 | 41 | BULK-be419231 |
| 20790 | Bulk Product ac815d4a | Home & Garden | $289.82 | 107 | ★ 3.1 | 80 | BULK-7d2f2ee0 |
| 20791 | Bulk Product f6a01dbc | Books | $813.72 | 310 | ★ 4.2 | 49 | BULK-8f101405 |
| 20792 | Bulk Product 8e208b00 | Books | $42.45 | 374 | ★ 1.7 | 78 | BULK-3e0394e6 |
| 20793 | Bulk Product b45eac20 | Sports & Outdoors | $582.93 | 137 | ★ 1.6 | 54 | BULK-90db1bda |
| 20794 | Bulk Product 2fd55362 | Books | $530.04 | 4 | ★ 3.9 | 89 | BULK-0b768b5a |
| 20795 | Bulk Product c5c14194 | Home & Garden | $733.78 | 453 | ★ 4.1 | 47 | BULK-1d8c2916 |
| 20796 | Bulk Product 4c475cd5 | Sports & Outdoors | $777.26 | 414 | ★ 2.6 | 29 | BULK-c1bb4fc1 |
| 20797 | Bulk Product 0ab99fc1 | Electronics | $973.09 | 201 | ★ 1.2 | 92 | BULK-2fd17fb1 |
| 20798 | Bulk Product 64417f65 | Clothing | $337.18 | 362 | ★ 0.1 | 18 | BULK-467c95b9 |
| 20799 | Bulk Product 050f1f86 | Electronics | $938.64 | 258 | ★ 2.8 | 76 | BULK-2491a895 |
| 20800 | Bulk Product e2e3de79 | Toys & Games | $1,001.94 | 214 | ★ 3.5 | 34 | BULK-37308a9d |
| 20801 | Bulk Product b942ed88 | Sports & Outdoors | $740.62 | 396 | ★ 1.8 | 25 | BULK-1d9a6341 |
| 20802 | Bulk Product 424e650d | Toys & Games | $371.76 | 19 | ★ 3.4 | 96 | BULK-a2b95793 |
| 20803 | Bulk Product 1fe6e5e9 | Sports & Outdoors | $218.68 | 159 | ★ 1.8 | 57 | BULK-fbe12030 |
| 20804 | Bulk Product 8bb8c22d | Toys & Games | $124.80 | 109 | ★ 4.3 | 43 | BULK-295c18d4 |
| 20805 | Bulk Product ce6d0637 | Clothing | $134.72 | 83 | ★ 4.7 | 77 | BULK-b913bf41 |
| 20806 | Bulk Product 226ac0ae | Clothing | $626.92 | 113 | ★ 2.7 | 61 | BULK-a6cbca05 |
| 20807 | Bulk Product 8d5f9bb2 | Sports & Outdoors | $308.36 | 305 | ★ 2.6 | 23 | BULK-9a1a53b0 |
| 20808 | Bulk Product 4c5ef291 | Electronics | $971.91 | 483 | ★ 1.4 | 89 | BULK-7efd58eb |
| 20809 | Bulk Product 5e10ec87 | Electronics | $705.77 | 378 | ★ 3.0 | 89 | BULK-caa51402 |
// 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
};
}