Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 18060 | Bulk Product 0b22c683 | Home & Garden | $858.35 | 209 | ★ 1.1 | 94 | BULK-2d6ba252 |
| 18061 | Bulk Product a3a9f2fb | Toys & Games | $787.08 | 56 | ★ 0.6 | 4 | BULK-65c11675 |
| 18062 | Bulk Product 51ed06a1 | Sports & Outdoors | $535.07 | 394 | ★ 5.0 | 60 | BULK-292db9cd |
| 18063 | Bulk Product 35ec9c02 | Home & Garden | $275.78 | 374 | ★ 2.9 | 79 | BULK-7d255395 |
| 18064 | Bulk Product 2b6ab943 | Home & Garden | $780.32 | 365 | ★ 3.8 | 60 | BULK-323fb477 |
| 18065 | Bulk Product 7061de18 | Toys & Games | $837.79 | 297 | ★ 3.2 | 10 | BULK-deceef2a |
| 18066 | Bulk Product 4fbb0389 | Clothing | $644.74 | 234 | ★ 0.9 | 80 | BULK-5a65f45d |
| 18067 | Bulk Product 8c8afe16 | Clothing | $443.10 | 164 | ★ 1.4 | 35 | BULK-415010b9 |
| 18068 | Bulk Product 01b115a7 | Clothing | $227.06 | 216 | ★ 2.8 | 36 | BULK-9b951700 |
| 18069 | Bulk Product e3b6180a | Toys & Games | $1,002.20 | 390 | ★ 2.7 | 89 | BULK-e5f620ee |
| 18070 | Bulk Product 7f1e78c8 | Clothing | $694.91 | 91 | ★ 0.1 | 41 | BULK-a5554d54 |
| 18071 | Bulk Product de797274 | Electronics | $438.33 | 260 | ★ 4.2 | 48 | BULK-776e7300 |
| 18072 | Bulk Product a197765f | Sports & Outdoors | $387.01 | 480 | ★ 0.5 | 62 | BULK-c93fcacf |
| 18073 | Bulk Product efbfd792 | Books | $197.94 | 478 | ★ 3.6 | 79 | BULK-aefe5adf |
| 18074 | Bulk Product 0c4c5e35 | Home & Garden | $672.47 | 262 | ★ 1.1 | 6 | BULK-ee0c798e |
| 18075 | Bulk Product 1099b8ff | Sports & Outdoors | $170.88 | 464 | ★ 0.9 | 1 | BULK-d0c772db |
| 18076 | Bulk Product de6461e7 | Sports & Outdoors | $632.30 | 360 | ★ 0.4 | 59 | BULK-489416d2 |
| 18077 | Bulk Product 6e552b34 | Toys & Games | $74.21 | 212 | ★ 2.1 | 26 | BULK-3f30be67 |
| 18078 | Bulk Product 21cb343a | Sports & Outdoors | $573.73 | 47 | ★ 1.2 | 19 | BULK-a9616e89 |
| 18079 | Bulk Product 8b7f08ad | Clothing | $469.27 | 170 | ★ 1.7 | 74 | BULK-2bd4b154 |
| 18080 | Bulk Product bed078cf | Clothing | $331.14 | 218 | ★ 2.3 | 39 | BULK-60fd2c7c |
| 18081 | Bulk Product b3085c96 | Toys & Games | $861.20 | 265 | ★ 0.6 | 97 | BULK-b8ef4f08 |
| 18082 | Bulk Product 70f1a4b6 | Home & Garden | $360.00 | 418 | ★ 4.6 | 48 | BULK-503f88e5 |
| 18083 | Bulk Product 2a670257 | Sports & Outdoors | $736.10 | 170 | ★ 4.6 | 20 | BULK-5168291d |
| 18084 | Bulk Product 9f06983b | Sports & Outdoors | $683.23 | 350 | ★ 0.8 | 35 | BULK-5fb01269 |
| 18085 | Bulk Product 3310cff8 | Books | $639.49 | 284 | ★ 2.6 | 69 | BULK-a444a327 |
| 18086 | Bulk Product 488c9e71 | Toys & Games | $747.03 | 407 | ★ 4.4 | 27 | BULK-c357bd50 |
| 18087 | Bulk Product 6ea8eb0a | Toys & Games | $805.81 | 369 | ★ 2.0 | 24 | BULK-c1427d9d |
| 18088 | Bulk Product bf1c946b | Sports & Outdoors | $24.19 | 222 | ★ 0.4 | 9 | BULK-6a819391 |
| 18089 | Bulk Product 8a585ea5 | Clothing | $55.96 | 233 | ★ 4.3 | 34 | BULK-39f98115 |
| 18090 | Bulk Product 7e0f1c94 | Books | $341.58 | 293 | ★ 2.7 | 57 | BULK-8eb963de |
| 18091 | Bulk Product 7c747065 | Books | $944.45 | 346 | ★ 4.4 | 7 | BULK-81240f4d |
| 18092 | Bulk Product 4721f7a9 | Toys & Games | $85.34 | 430 | ★ 0.4 | 50 | BULK-29c8a4e7 |
| 18093 | Bulk Product 7c637dcd | Books | $39.62 | 181 | ★ 1.0 | 91 | BULK-614106d1 |
| 18094 | Bulk Product dcbe68b4 | Toys & Games | $68.24 | 138 | ★ 3.7 | 65 | BULK-604f2322 |
| 18095 | Bulk Product 75013b92 | Home & Garden | $130.24 | 227 | ★ 2.3 | 8 | BULK-a45f22e1 |
| 18096 | Bulk Product 59b0cb8e | Clothing | $310.10 | 322 | ★ 0.2 | 79 | BULK-d5d607d3 |
| 18097 | Bulk Product db20ad26 | Clothing | $88.12 | 110 | ★ 0.6 | 72 | BULK-f76e3a6e |
| 18098 | Bulk Product 0f1c718a | Electronics | $66.06 | 314 | ★ 4.7 | 8 | BULK-abd8df72 |
| 18099 | Bulk Product d728fc8a | Clothing | $268.36 | 401 | ★ 0.9 | 83 | BULK-9c8d77b6 |
| 18100 | Bulk Product 184a984f | Toys & Games | $778.90 | 318 | ★ 3.6 | 24 | BULK-5b42df87 |
| 18101 | Bulk Product f5c6f530 | Sports & Outdoors | $330.29 | 380 | ★ 1.3 | 5 | BULK-0bac474f |
| 18102 | Bulk Product 7cfcb0e3 | Toys & Games | $20.68 | 127 | ★ 0.6 | 42 | BULK-4b834ce4 |
| 18103 | Bulk Product 45e39a7f | Electronics | $987.74 | 118 | ★ 1.6 | 67 | BULK-01d31b51 |
| 18104 | Bulk Product 27f19df3 | Books | $762.71 | 81 | ★ 3.6 | 79 | BULK-085a61d2 |
| 18105 | Bulk Product db3e8371 | Toys & Games | $217.36 | 342 | ★ 4.1 | 95 | BULK-1436d3e9 |
| 18106 | Bulk Product 09729dbf | Electronics | $469.18 | 275 | ★ 0.5 | 16 | BULK-4ace17bc |
| 18107 | Bulk Product 102f44d3 | Sports & Outdoors | $47.52 | 128 | ★ 3.1 | 36 | BULK-178127cf |
| 18108 | Bulk Product 5601c0cb | Toys & Games | $876.69 | 338 | ★ 3.2 | 91 | BULK-f0516329 |
| 18109 | Bulk Product b4113b63 | Sports & Outdoors | $432.94 | 7 | ★ 4.7 | 6 | BULK-fd9f30be |
// 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
};
}