Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 1301 | Premium Clothing Product Advanced | Clothing | $385.62 | 101 | ★ 4.9 | 914 | SKU-001301 |
| 1302 | Ultra Clothing Product Lite | Clothing | $358.08 | 352 | ★ 4.9 | 265 | SKU-001302 |
| 1303 | Economy Electronics Product Lite | Electronics | $563.14 | 303 | ★ 3.0 | 928 | SKU-001303 |
| 1304 | Pro Electronics Product Max | Electronics | $160.29 | 468 | ★ 1.4 | 253 | SKU-001304 |
| 1305 | Elite Home & Garden Product Plus | Home & Garden | $254.35 | 106 | ★ 1.5 | 385 | SKU-001305 |
| 1306 | Ultra Electronics Product Classic | Electronics | $431.15 | 444 | ★ 2.6 | 246 | SKU-001306 |
| 1307 | Economy Health & Beauty Product Special Edition | Health & Beauty | $367.00 | 270 | ★ 4.5 | 979 | SKU-001307 |
| 1308 | Elite Home & Garden Product Pro | Home & Garden | $720.92 | 118 | ★ 3.9 | 346 | SKU-001308 |
| 1309 | Professional Health & Beauty Product 2024 | Health & Beauty | $734.71 | 346 | ★ 2.3 | 998 | SKU-001309 |
| 1311 | Ultra Books Product Classic | Books | $542.76 | 190 | ★ 4.7 | 401 | SKU-001311 |
| 1312 | Economy Office Supplies Product Plus | Office Supplies | $176.60 | 237 | ★ 2.0 | 521 | SKU-001312 |
| 1313 | Pro Office Supplies Product 2024 | Office Supplies | $83.96 | 48 | ★ 4.7 | 41 | SKU-001313 |
| 1314 | Deluxe Electronics Product 2024 | Electronics | $853.18 | 377 | ★ 4.5 | 630 | SKU-001314 |
| 1315 | Deluxe Electronics Product Plus | Electronics | $674.88 | 450 | ★ 2.4 | 441 | SKU-001315 |
| 1316 | Economy Books Product Classic | Books | $859.83 | 491 | ★ 3.8 | 376 | SKU-001316 |
| 1318 | Mega Automotive Product Lite | Automotive | $340.46 | 271 | ★ 2.9 | 784 | SKU-001318 |
| 1319 | Pro Food & Grocery Product Advanced | Food & Grocery | $822.50 | 428 | ★ 2.5 | 509 | SKU-001319 |
| 1321 | Pro Food & Grocery Product Special Edition | Food & Grocery | $480.56 | 256 | ★ 2.0 | 860 | SKU-001321 |
| 1322 | Mega Automotive Product Plus | Automotive | $78.80 | 413 | ★ 2.3 | 818 | SKU-001322 |
| 1323 | Mega Books Product Plus | Books | $73.06 | 316 | ★ 3.9 | 998 | SKU-001323 |
| 1324 | Pro Office Supplies Product Lite | Office Supplies | $474.48 | 152 | ★ 3.5 | 191 | SKU-001324 |
| 1325 | Professional Electronics Product 2024 | Electronics | $816.48 | 420 | ★ 1.0 | 30 | SKU-001325 |
| 1326 | Super Home & Garden Product Advanced | Home & Garden | $248.61 | 49 | ★ 3.7 | 620 | SKU-001326 |
| 1327 | Premium Books Product 2024 | Books | $720.14 | 79 | ★ 4.4 | 597 | SKU-001327 |
| 1328 | Mega Automotive Product Special Edition | Automotive | $180.03 | 405 | ★ 2.5 | 400 | SKU-001328 |
// 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
};
}