Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 17160 | Bulk Product f7b46ec3 | Clothing | $984.32 | 194 | ★ 1.8 | 55 | BULK-cdbfa23b |
| 17161 | Bulk Product 021d0da0 | Toys & Games | $895.21 | 338 | ★ 3.8 | 61 | BULK-48803364 |
| 17162 | Bulk Product 4d24a217 | Home & Garden | $140.58 | 282 | ★ 0.7 | 79 | BULK-1e33bdac |
| 17163 | Bulk Product d35d2151 | Electronics | $752.18 | 247 | ★ 2.7 | 84 | BULK-b4fc50c1 |
| 17164 | Bulk Product 0a8c072d | Sports & Outdoors | $93.31 | 39 | ★ 0.6 | 35 | BULK-68b5897d |
| 17165 | Bulk Product 525b0565 | Electronics | $207.78 | 11 | ★ 0.6 | 21 | BULK-4d3446cb |
| 17166 | Bulk Product c4ceacf3 | Electronics | $793.42 | 419 | ★ 1.2 | 18 | BULK-71e1f7e6 |
| 17167 | Bulk Product 53505066 | Books | $567.75 | 336 | ★ 3.8 | 76 | BULK-a5748320 |
| 17168 | Bulk Product 16d557dc | Clothing | $952.15 | 223 | ★ 0.3 | 65 | BULK-ff39e4aa |
| 17169 | Bulk Product 988cd4ad | Toys & Games | $707.25 | 220 | ★ 4.7 | 35 | BULK-9aad72e8 |
| 17170 | Bulk Product c79cfef0 | Clothing | $477.09 | 39 | ★ 3.9 | 97 | BULK-56edc994 |
| 17171 | Bulk Product 7879050c | Clothing | $506.75 | 408 | ★ 3.3 | 71 | BULK-bf11da53 |
| 17172 | Bulk Product f71b823f | Sports & Outdoors | $943.74 | 159 | ★ 0.7 | 37 | BULK-955b5283 |
| 17173 | Bulk Product 237afee7 | Toys & Games | $702.89 | 187 | ★ 4.1 | 50 | BULK-68351eb4 |
| 17174 | Bulk Product f8eb44cd | Electronics | $148.07 | 4 | ★ 2.3 | 95 | BULK-90fb7cc8 |
| 17175 | Bulk Product b6f44af0 | Books | $84.89 | 226 | ★ 4.9 | 31 | BULK-d0e39df4 |
| 17176 | Bulk Product 49efaa08 | Home & Garden | $545.72 | 369 | ★ 1.8 | 23 | BULK-9e0ccd2a |
| 17177 | Bulk Product d78c9610 | Sports & Outdoors | $413.44 | 484 | ★ 3.4 | 39 | BULK-5695db07 |
| 17178 | Bulk Product f9154156 | Toys & Games | $419.64 | 238 | ★ 0.7 | 88 | BULK-578567ea |
| 17179 | Bulk Product 0bb29d70 | Home & Garden | $367.18 | 115 | ★ 4.3 | 0 | BULK-b122b33a |
| 17180 | Bulk Product 65f2cdd7 | Toys & Games | $945.26 | 496 | ★ 0.1 | 75 | BULK-664a2bb1 |
| 17181 | Bulk Product 044e766d | Books | $656.17 | 111 | ★ 3.3 | 96 | BULK-9b354e72 |
| 17182 | Bulk Product 7604a9c6 | Sports & Outdoors | $996.05 | 163 | ★ 0.4 | 35 | BULK-af10a093 |
| 17183 | Bulk Product 0d39a62f | Electronics | $862.18 | 428 | ★ 1.1 | 42 | BULK-5d86a27d |
| 17184 | Bulk Product 4d1297ad | Clothing | $743.03 | 83 | ★ 0.0 | 74 | BULK-bd48e7b8 |
| 17185 | Bulk Product 6d62dd12 | Sports & Outdoors | $576.30 | 113 | ★ 0.5 | 39 | BULK-0091c082 |
| 17186 | Bulk Product f2b2096a | Clothing | $216.55 | 303 | ★ 4.0 | 86 | BULK-60f2030a |
| 17187 | Bulk Product b3471823 | Toys & Games | $188.19 | 429 | ★ 1.5 | 96 | BULK-9e0cb85e |
| 17188 | Bulk Product 9d505832 | Home & Garden | $658.06 | 6 | ★ 2.1 | 49 | BULK-1d954b13 |
| 17189 | Bulk Product 211f50cf | Sports & Outdoors | $187.36 | 158 | ★ 1.6 | 79 | BULK-8d294f05 |
| 17190 | Bulk Product 0d67998f | Toys & Games | $958.89 | 5 | ★ 0.2 | 2 | BULK-8b01657b |
| 17191 | Bulk Product 7b89ee55 | Toys & Games | $773.53 | 94 | ★ 1.6 | 38 | BULK-9ced82bc |
| 17192 | Bulk Product 98b8d216 | Books | $274.52 | 340 | ★ 2.1 | 50 | BULK-4828c0de |
| 17193 | Bulk Product b33d3408 | Home & Garden | $883.72 | 397 | ★ 4.6 | 76 | BULK-5f8c0a96 |
| 17194 | Bulk Product 7ff6f212 | Home & Garden | $566.54 | 121 | ★ 5.0 | 44 | BULK-dd1e866f |
| 17195 | Bulk Product 29f16a2c | Toys & Games | $333.85 | 446 | ★ 0.9 | 79 | BULK-ed36daec |
| 17196 | Bulk Product 7bf60a1f | Books | $749.33 | 269 | ★ 5.0 | 20 | BULK-5aa57607 |
| 17197 | Bulk Product 1d91492a | Books | $500.38 | 429 | ★ 1.5 | 70 | BULK-b0ec254f |
| 17198 | Bulk Product ace8cb75 | Electronics | $226.41 | 176 | ★ 3.2 | 60 | BULK-d9490f52 |
| 17199 | Bulk Product 1a396827 | Home & Garden | $278.47 | 406 | ★ 2.2 | 9 | BULK-7002cc6c |
| 17200 | Bulk Product 638fe940 | Clothing | $669.50 | 471 | ★ 2.2 | 28 | BULK-d7edf575 |
| 17201 | Bulk Product 9509ab0c | Electronics | $820.99 | 470 | ★ 4.0 | 72 | BULK-3a837084 |
| 17202 | Bulk Product 4bc33ff1 | Sports & Outdoors | $755.51 | 118 | ★ 4.4 | 80 | BULK-85013621 |
| 17203 | Bulk Product b1fcc803 | Electronics | $141.59 | 106 | ★ 2.4 | 81 | BULK-ebc9d6eb |
| 17204 | Bulk Product f36f3d7f | Home & Garden | $297.61 | 357 | ★ 0.1 | 0 | BULK-24320d60 |
| 17205 | Bulk Product 0eeda127 | Home & Garden | $878.46 | 103 | ★ 3.1 | 24 | BULK-97613ee2 |
| 17206 | Bulk Product 15249441 | Sports & Outdoors | $350.05 | 368 | ★ 1.4 | 11 | BULK-53caaa4b |
| 17207 | Bulk Product f1186051 | Books | $829.15 | 57 | ★ 1.1 | 36 | BULK-91bb6154 |
| 17208 | Bulk Product 13291fa2 | Toys & Games | $138.40 | 46 | ★ 2.0 | 48 | BULK-a6b220d4 |
| 17209 | Bulk Product 5e3beae1 | Electronics | $51.19 | 263 | ★ 1.9 | 23 | BULK-594ac60a |
// 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
};
}