Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 24610 | Bulk Product fd027f52 | Clothing | $776.55 | 308 | ★ 0.3 | 10 | BULK-37e73053 |
| 24611 | Bulk Product 593adbc1 | Electronics | $315.47 | 401 | ★ 0.4 | 15 | BULK-e1f48cab |
| 24612 | Bulk Product 3bbcfebb | Sports & Outdoors | $284.85 | 257 | ★ 1.5 | 46 | BULK-ba254278 |
| 24613 | Bulk Product b84455aa | Electronics | $611.67 | 60 | ★ 0.5 | 66 | BULK-cf3b86c8 |
| 24614 | Bulk Product b4ae60f6 | Home & Garden | $119.62 | 378 | ★ 1.1 | 7 | BULK-ec3695d0 |
| 24615 | Bulk Product 39dddb2c | Electronics | $105.46 | 243 | ★ 0.8 | 20 | BULK-c4643215 |
| 24616 | Bulk Product 426e5656 | Toys & Games | $490.97 | 447 | ★ 4.7 | 94 | BULK-56add5ef |
| 24617 | Bulk Product 63d23214 | Books | $183.97 | 348 | ★ 1.0 | 99 | BULK-9ebb18cd |
| 24618 | Bulk Product 8f7edf93 | Clothing | $400.36 | 364 | ★ 0.6 | 3 | BULK-09b08119 |
| 24619 | Bulk Product ed2862d8 | Sports & Outdoors | $647.08 | 221 | ★ 3.7 | 79 | BULK-47a936e1 |
| 24620 | Bulk Product d38f1336 | Books | $421.45 | 383 | ★ 0.7 | 95 | BULK-3a3283ba |
| 24621 | Bulk Product d95a3b11 | Sports & Outdoors | $632.37 | 163 | ★ 3.0 | 76 | BULK-337b77f8 |
| 24622 | Bulk Product 4638d7cc | Electronics | $720.08 | 364 | ★ 3.9 | 30 | BULK-0b2d475c |
| 24623 | Bulk Product 8be9d977 | Toys & Games | $815.84 | 390 | ★ 4.0 | 9 | BULK-dfb17212 |
| 24624 | Bulk Product 9f2d77b0 | Home & Garden | $398.05 | 401 | ★ 3.6 | 2 | BULK-9cd5666e |
| 24625 | Bulk Product 6921a264 | Clothing | $413.56 | 76 | ★ 4.4 | 67 | BULK-80bca9fa |
| 24626 | Bulk Product 13b03cef | Sports & Outdoors | $156.80 | 445 | ★ 0.9 | 5 | BULK-885c1ad5 |
| 24627 | Bulk Product 88387b42 | Clothing | $420.58 | 61 | ★ 1.1 | 89 | BULK-d58b51a4 |
| 24628 | Bulk Product b72a23df | Electronics | $262.09 | 183 | ★ 2.4 | 38 | BULK-e8972899 |
| 24629 | Bulk Product e2dbe41a | Electronics | $779.93 | 328 | ★ 3.7 | 77 | BULK-e33a1bf7 |
| 24630 | Bulk Product 4f2a07cd | Electronics | $429.66 | 468 | ★ 2.9 | 49 | BULK-7127cb4c |
| 24631 | Bulk Product 969b414d | Sports & Outdoors | $73.54 | 81 | ★ 4.3 | 50 | BULK-8bbcf1fe |
| 24632 | Bulk Product 4c5a3258 | Toys & Games | $152.47 | 359 | ★ 1.8 | 43 | BULK-b24bb5da |
| 24633 | Bulk Product 131c969d | Clothing | $679.73 | 45 | ★ 0.1 | 11 | BULK-ef8bdd53 |
| 24634 | Bulk Product 11e7ce94 | Toys & Games | $932.93 | 64 | ★ 2.4 | 46 | BULK-aacede58 |
| 24635 | Bulk Product 2892f7bc | Home & Garden | $478.51 | 365 | ★ 0.2 | 55 | BULK-5982ab5a |
| 24636 | Bulk Product e4f5f51b | Books | $834.86 | 403 | ★ 2.1 | 70 | BULK-c4e74f3e |
| 24637 | Bulk Product 85bbf799 | Clothing | $884.43 | 304 | ★ 4.4 | 56 | BULK-ece144ae |
| 24638 | Bulk Product a5b25169 | Books | $697.22 | 457 | ★ 0.2 | 31 | BULK-fa4ec5d0 |
| 24639 | Bulk Product 3b99d163 | Toys & Games | $353.75 | 424 | ★ 3.1 | 32 | BULK-f0897f3d |
| 24640 | Bulk Product c5da991b | Electronics | $505.47 | 450 | ★ 3.0 | 41 | BULK-9ad9c4ad |
| 24641 | Bulk Product a3a258a5 | Electronics | $55.59 | 114 | ★ 1.7 | 80 | BULK-67745a6f |
| 24642 | Bulk Product a3e3ddad | Clothing | $312.61 | 388 | ★ 0.3 | 51 | BULK-d4b5b6e8 |
| 24643 | Bulk Product f3b0afea | Sports & Outdoors | $835.60 | 288 | ★ 4.0 | 33 | BULK-5d92c274 |
| 24644 | Bulk Product bf7d2fd0 | Sports & Outdoors | $959.05 | 330 | ★ 3.4 | 46 | BULK-783835d0 |
| 24645 | Bulk Product f4901d3a | Toys & Games | $712.67 | 49 | ★ 2.8 | 50 | BULK-b9b7efc4 |
| 24646 | Bulk Product 9fd5aab3 | Books | $136.62 | 2 | ★ 2.2 | 90 | BULK-cac0f38b |
| 24647 | Bulk Product 90fdc77c | Electronics | $100.19 | 371 | ★ 1.6 | 15 | BULK-320016a4 |
| 24648 | Bulk Product 65070673 | Electronics | $241.43 | 323 | ★ 1.6 | 74 | BULK-9b9c6b12 |
| 24649 | Bulk Product 01b04176 | Toys & Games | $275.67 | 57 | ★ 1.0 | 50 | BULK-43bb9b07 |
| 24650 | Bulk Product b504e73b | Electronics | $151.05 | 357 | ★ 3.7 | 58 | BULK-e2e4d39b |
| 24651 | Bulk Product 6f4dd0fd | Electronics | $570.33 | 355 | ★ 3.4 | 37 | BULK-ff06842a |
| 24652 | Bulk Product 537437da | Toys & Games | $443.08 | 291 | ★ 2.9 | 44 | BULK-b6fd0541 |
| 24653 | Bulk Product 3a4a1cd7 | Books | $785.62 | 186 | ★ 4.5 | 70 | BULK-df87375c |
| 24654 | Bulk Product 79398654 | Clothing | $211.11 | 313 | ★ 1.4 | 4 | BULK-dc49790b |
| 24655 | Bulk Product da26453c | Clothing | $700.91 | 293 | ★ 1.3 | 94 | BULK-4b7dca4a |
| 24656 | Bulk Product bf9fb691 | Clothing | $84.13 | 209 | ★ 2.8 | 17 | BULK-bf04e4da |
| 24657 | Bulk Product 7168a7cc | Electronics | $189.77 | 161 | ★ 4.6 | 56 | BULK-682c3128 |
| 24658 | Bulk Product dadcb113 | Clothing | $431.02 | 284 | ★ 0.4 | 70 | BULK-925d08e0 |
| 24659 | Bulk Product 5cc37f5a | Sports & Outdoors | $940.97 | 15 | ★ 0.7 | 26 | BULK-c12e9321 |
// 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
};
}