Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 4648 | Professional Office Supplies Product Plus | Office Supplies | $953.05 | 155 | ★ 3.2 | 782 | SKU-004648 |
| 4649 | Super Food & Grocery Product Lite | Food & Grocery | $438.37 | 315 | ★ 1.9 | 276 | SKU-004649 |
| 4651 | Mega Toys & Games Product Mini | Toys & Games | $196.04 | 483 | ★ 2.6 | 698 | SKU-004651 |
| 4653 | Pro Health & Beauty Product Mini | Health & Beauty | $921.87 | 421 | ★ 2.1 | 969 | SKU-004653 |
| 4654 | Economy Clothing Product Lite | Clothing | $525.52 | 20 | ★ 2.6 | 788 | SKU-004654 |
| 4655 | Professional Clothing Product Lite | Clothing | $665.80 | 97 | ★ 3.2 | 527 | SKU-004655 |
| 4656 | Mega Automotive Product Max | Automotive | $442.58 | 366 | ★ 2.3 | 427 | SKU-004656 |
| 4657 | Standard Sports & Outdoors Product Special Edition | Sports & Outdoors | $241.27 | 332 | ★ 3.1 | 882 | SKU-004657 |
| 4658 | Pro Sports & Outdoors Product Plus | Sports & Outdoors | $935.39 | 285 | ★ 3.9 | 201 | SKU-004658 |
| 4659 | Mega Home & Garden Product Max | Home & Garden | $81.36 | 338 | ★ 4.0 | 543 | SKU-004659 |
| 4660 | Economy Electronics Product Max | Electronics | $988.40 | 488 | ★ 3.5 | 758 | SKU-004660 |
| 4661 | Mega Office Supplies Product XL | Office Supplies | $48.19 | 373 | ★ 1.3 | 915 | SKU-004661 |
| 4662 | Premium Home & Garden Product Classic | Home & Garden | $886.31 | 496 | ★ 3.2 | 320 | SKU-004662 |
| 4663 | Deluxe Electronics Product Pro | Electronics | $598.18 | 211 | ★ 4.9 | 553 | SKU-004663 |
| 4664 | Standard Automotive Product Pro | Automotive | $959.37 | 469 | ★ 3.5 | 500 | SKU-004664 |
| 4665 | Pro Electronics Product Special Edition | Electronics | $878.06 | 388 | ★ 4.7 | 269 | SKU-004665 |
| 4666 | Standard Books Product Special Edition | Books | $915.13 | 21 | ★ 2.0 | 876 | SKU-004666 |
| 4667 | Pro Toys & Games Product Mini | Toys & Games | $215.76 | 81 | ★ 2.1 | 114 | SKU-004667 |
| 4668 | Pro Sports & Outdoors Product Pro | Sports & Outdoors | $121.65 | 484 | ★ 2.6 | 36 | SKU-004668 |
| 4669 | Standard Home & Garden Product Mini | Home & Garden | $455.25 | 253 | ★ 2.9 | 9 | SKU-004669 |
| 4671 | Economy Books Product XL | Books | $122.65 | 476 | ★ 1.2 | 814 | SKU-004671 |
| 4672 | Deluxe Clothing Product XL | Clothing | $807.10 | 473 | ★ 4.1 | 303 | SKU-004672 |
| 4673 | Elite Office Supplies Product Pro | Office Supplies | $336.37 | 79 | ★ 2.4 | 552 | SKU-004673 |
| 4674 | Ultra Health & Beauty Product Special Edition | Health & Beauty | $622.29 | 234 | ★ 2.3 | 247 | SKU-004674 |
| 4675 | Super Clothing Product Pro | Clothing | $732.23 | 110 | ★ 3.1 | 564 | SKU-004675 |
// 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
};
}