Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 12260 | Bulk Product cd09e17e | Clothing | $313.96 | 39 | ★ 3.4 | 38 | BULK-3c145c8b |
| 12261 | Bulk Product 31f66dc2 | Home & Garden | $608.94 | 220 | ★ 1.1 | 43 | BULK-45e10674 |
| 12262 | Bulk Product 577c1ccb | Books | $922.66 | 44 | ★ 3.2 | 12 | BULK-a570223a |
| 12263 | Bulk Product 7483cf33 | Electronics | $809.23 | 180 | ★ 2.9 | 53 | BULK-e9d0f4ef |
| 12264 | Bulk Product 7a87ce86 | Toys & Games | $137.06 | 54 | ★ 1.0 | 33 | BULK-75dada9b |
| 12265 | Bulk Product c0803aca | Sports & Outdoors | $710.31 | 417 | ★ 2.5 | 74 | BULK-0af520ac |
| 12266 | Bulk Product 5d042cc9 | Electronics | $879.70 | 397 | ★ 2.7 | 37 | BULK-a7de9000 |
| 12267 | Bulk Product 7a6c5d41 | Clothing | $50.42 | 18 | ★ 4.5 | 77 | BULK-b57a2574 |
| 12268 | Bulk Product b5b8f565 | Home & Garden | $27.63 | 423 | ★ 3.5 | 60 | BULK-39304b42 |
| 12269 | Bulk Product 07bf400a | Home & Garden | $910.40 | 391 | ★ 0.3 | 64 | BULK-986719f0 |
| 12270 | Bulk Product d9330828 | Home & Garden | $33.87 | 496 | ★ 4.1 | 68 | BULK-3f58d197 |
| 12271 | Bulk Product 3271737f | Sports & Outdoors | $106.36 | 176 | ★ 2.4 | 10 | BULK-0d7bfce5 |
| 12272 | Bulk Product d37c8f5e | Clothing | $392.23 | 466 | ★ 1.4 | 70 | BULK-32e8b5c6 |
| 12273 | Bulk Product 8d0c09a1 | Home & Garden | $164.82 | 123 | ★ 2.3 | 91 | BULK-1d59f2a6 |
| 12274 | Bulk Product 6a426c8f | Home & Garden | $627.38 | 55 | ★ 1.3 | 7 | BULK-34d621a4 |
| 12275 | Bulk Product 55cbecb8 | Home & Garden | $41.76 | 428 | ★ 2.6 | 87 | BULK-cf449704 |
| 12276 | Bulk Product b54d6457 | Sports & Outdoors | $832.94 | 37 | ★ 3.2 | 2 | BULK-f8adc499 |
| 12277 | Bulk Product 5dd5d5da | Toys & Games | $574.48 | 494 | ★ 3.6 | 31 | BULK-9337aa2d |
| 12278 | Bulk Product d633d9ed | Books | $910.23 | 145 | ★ 4.2 | 42 | BULK-d5a7cf42 |
| 12279 | Bulk Product 2ccfa50b | Home & Garden | $653.84 | 374 | ★ 0.8 | 16 | BULK-9d84933d |
| 12280 | Bulk Product d2cf1049 | Sports & Outdoors | $25.30 | 163 | ★ 4.4 | 67 | BULK-6a153360 |
| 12281 | Bulk Product c3348791 | Toys & Games | $357.08 | 399 | ★ 2.6 | 41 | BULK-b6b56c71 |
| 12282 | Bulk Product a4b89d58 | Books | $251.28 | 86 | ★ 2.5 | 73 | BULK-7f5b0108 |
| 12283 | Bulk Product a0a22aad | Electronics | $266.67 | 363 | ★ 2.9 | 50 | BULK-0b8eec1f |
| 12284 | Bulk Product 94e3a59e | Books | $804.67 | 382 | ★ 2.2 | 76 | BULK-8e758adb |
| 12285 | Bulk Product 1ddf22b2 | Clothing | $945.44 | 202 | ★ 1.2 | 90 | BULK-8031d582 |
| 12286 | Bulk Product 0dbeeb84 | Sports & Outdoors | $825.58 | 430 | ★ 2.4 | 97 | BULK-b1625af8 |
| 12287 | Bulk Product 11ad90ad | Home & Garden | $1,001.10 | 276 | ★ 4.3 | 64 | BULK-6ad2c8d3 |
| 12288 | Bulk Product 6f57a9de | Home & Garden | $182.06 | 357 | ★ 3.7 | 86 | BULK-1991e256 |
| 12289 | Bulk Product e45e0ec5 | Clothing | $804.04 | 427 | ★ 3.5 | 34 | BULK-c986face |
| 12290 | Bulk Product 471e14fe | Toys & Games | $106.12 | 259 | ★ 3.8 | 58 | BULK-41b283d8 |
| 12291 | Bulk Product 3eb6cbc4 | Books | $285.61 | 326 | ★ 3.8 | 34 | BULK-33335781 |
| 12292 | Bulk Product 1783dc4b | Toys & Games | $674.43 | 319 | ★ 4.9 | 20 | BULK-aa0b936e |
| 12293 | Bulk Product ccc206fb | Clothing | $998.65 | 433 | ★ 0.3 | 31 | BULK-103d8ea7 |
| 12294 | Bulk Product f377939e | Books | $232.86 | 375 | ★ 1.7 | 72 | BULK-ec8e1550 |
| 12295 | Bulk Product 789659f3 | Electronics | $784.44 | 471 | ★ 0.0 | 83 | BULK-280bcca6 |
| 12296 | Bulk Product 5707fe19 | Electronics | $956.15 | 320 | ★ 3.7 | 48 | BULK-bca41d36 |
| 12297 | Bulk Product 1c2de742 | Books | $852.14 | 415 | ★ 1.6 | 90 | BULK-c127207d |
| 12298 | Bulk Product 2faea5a6 | Toys & Games | $397.36 | 294 | ★ 0.3 | 0 | BULK-70c787ab |
| 12299 | Bulk Product 6ee4673e | Books | $959.82 | 487 | ★ 4.6 | 44 | BULK-401fbc35 |
| 12300 | Bulk Product 81137a04 | Sports & Outdoors | $292.44 | 226 | ★ 2.9 | 42 | BULK-90949291 |
| 12301 | Bulk Product 745a6f85 | Toys & Games | $558.30 | 393 | ★ 3.2 | 64 | BULK-5e54aa16 |
| 12302 | Bulk Product 7b5b452e | Books | $936.28 | 1 | ★ 0.5 | 27 | BULK-7f0c0af7 |
| 12303 | Bulk Product 8b390da5 | Electronics | $110.02 | 174 | ★ 2.7 | 7 | BULK-f93c8023 |
| 12304 | Bulk Product 32e7f6fb | Clothing | $321.32 | 256 | ★ 4.2 | 10 | BULK-18eb39ce |
| 12305 | Bulk Product b989afe7 | Clothing | $652.62 | 374 | ★ 3.6 | 77 | BULK-41cc8022 |
| 12306 | Bulk Product 2ba31d7c | Electronics | $696.06 | 55 | ★ 1.1 | 33 | BULK-fa239ba6 |
| 12307 | Bulk Product 3ea5194e | Sports & Outdoors | $688.88 | 347 | ★ 2.2 | 35 | BULK-7dbf48d4 |
| 12308 | Bulk Product 5f5bfd75 | Books | $543.51 | 300 | ★ 2.6 | 38 | BULK-f0f18862 |
| 12309 | Bulk Product 5505dea0 | Clothing | $90.49 | 87 | ★ 2.7 | 76 | BULK-3a1459fe |
// 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
};
}