Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 2996 | Super Sports & Outdoors Product XL | Sports & Outdoors | $249.91 | 87 | ★ 1.3 | 485 | SKU-002996 |
| 2997 | Ultra Books Product Special Edition | Books | $93.94 | 493 | ★ 1.1 | 597 | SKU-002997 |
| 2998 | Pro Books Product Mini | Books | $423.89 | 113 | ★ 2.8 | 997 | SKU-002998 |
| 2999 | Deluxe Office Supplies Product Lite | Office Supplies | $549.70 | 148 | ★ 4.2 | 615 | SKU-002999 |
| 3001 | Mega Automotive Product Classic | Automotive | $926.92 | 242 | ★ 2.1 | 50 | SKU-003001 |
| 3002 | Mega Clothing Product Pro | Clothing | $38.85 | 349 | ★ 4.4 | 623 | SKU-003002 |
| 3004 | Standard Toys & Games Product Mini | Toys & Games | $678.00 | 450 | ★ 2.6 | 546 | SKU-003004 |
| 3005 | Standard Food & Grocery Product Pro | Food & Grocery | $535.87 | 235 | ★ 2.2 | 126 | SKU-003005 |
| 3006 | Economy Food & Grocery Product XL | Food & Grocery | $754.99 | 88 | ★ 3.4 | 428 | SKU-003006 |
| 3007 | Pro Automotive Product 2024 | Automotive | $570.60 | 301 | ★ 4.1 | 92 | SKU-003007 |
| 3009 | Standard Books Product Mini | Books | $814.22 | 435 | ★ 2.6 | 644 | SKU-003009 |
| 3010 | Standard Health & Beauty Product 2024 | Health & Beauty | $132.47 | 499 | ★ 3.6 | 745 | SKU-003010 |
| 3011 | Premium Food & Grocery Product Pro | Food & Grocery | $676.35 | 181 | ★ 1.1 | 953 | SKU-003011 |
| 3012 | Economy Toys & Games Product XL | Toys & Games | $626.10 | 296 | ★ 1.2 | 405 | SKU-003012 |
| 3013 | Ultra Clothing Product Classic | Clothing | $43.85 | 140 | ★ 1.1 | 230 | SKU-003013 |
| 3014 | Deluxe Electronics Product Pro | Electronics | $697.71 | 12 | ★ 2.0 | 79 | SKU-003014 |
| 3015 | Ultra Home & Garden Product Mini | Home & Garden | $109.25 | 24 | ★ 2.1 | 660 | SKU-003015 |
| 3016 | Elite Home & Garden Product Plus | Home & Garden | $681.68 | 376 | ★ 4.8 | 286 | SKU-003016 |
| 3017 | Standard Toys & Games Product Pro | Toys & Games | $621.22 | 43 | ★ 1.9 | 359 | SKU-003017 |
| 3018 | Mega Health & Beauty Product Plus | Health & Beauty | $931.58 | 222 | ★ 3.0 | 53 | SKU-003018 |
| 3019 | Pro Books Product Special Edition | Books | $689.67 | 231 | ★ 2.0 | 183 | SKU-003019 |
| 3021 | Professional Food & Grocery Product Plus | Food & Grocery | $978.51 | 328 | ★ 4.9 | 257 | SKU-003021 |
| 3022 | Elite Home & Garden Product Mini | Home & Garden | $262.16 | 275 | ★ 4.3 | 699 | SKU-003022 |
| 3023 | Deluxe Office Supplies Product Plus | Office Supplies | $613.74 | 27 | ★ 2.7 | 610 | SKU-003023 |
| 3024 | Premium Toys & Games Product Special Edition | Toys & Games | $423.43 | 136 | ★ 1.9 | 738 | SKU-003024 |
// 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
};
}