Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 20660 | Bulk Product db4ce276 | Toys & Games | $375.60 | 379 | ★ 0.3 | 96 | BULK-0b315dfc |
| 20661 | Bulk Product a9874fa3 | Sports & Outdoors | $241.84 | 93 | ★ 2.4 | 73 | BULK-b17c337a |
| 20662 | Bulk Product 98e529f5 | Sports & Outdoors | $920.23 | 435 | ★ 1.7 | 21 | BULK-8f074cff |
| 20663 | Bulk Product 2cf924e0 | Books | $479.17 | 297 | ★ 4.9 | 46 | BULK-ebe425e5 |
| 20664 | Bulk Product d7d86a33 | Sports & Outdoors | $610.53 | 34 | ★ 3.3 | 94 | BULK-1e5b5111 |
| 20665 | Bulk Product 4a3ec9c9 | Clothing | $406.55 | 225 | ★ 1.2 | 23 | BULK-df5d81d4 |
| 20666 | Bulk Product 78e75cd7 | Toys & Games | $400.32 | 466 | ★ 3.7 | 35 | BULK-326ebb6e |
| 20667 | Bulk Product 399b4369 | Toys & Games | $633.88 | 315 | ★ 1.8 | 12 | BULK-8f6bc890 |
| 20668 | Bulk Product 4782567d | Home & Garden | $169.41 | 166 | ★ 4.8 | 17 | BULK-f577db77 |
| 20669 | Bulk Product b12f31c4 | Toys & Games | $342.97 | 236 | ★ 2.9 | 99 | BULK-bd23429b |
| 20670 | Bulk Product 7c2ed4bb | Electronics | $348.88 | 291 | ★ 1.8 | 83 | BULK-3424e52c |
| 20671 | Bulk Product c49be870 | Books | $222.68 | 257 | ★ 1.6 | 89 | BULK-d66f1e76 |
| 20672 | Bulk Product 9cfae2b3 | Clothing | $599.35 | 51 | ★ 1.1 | 12 | BULK-38e899fb |
| 20673 | Bulk Product a5336bfe | Electronics | $175.23 | 49 | ★ 3.0 | 19 | BULK-b56904b7 |
| 20674 | Bulk Product cf56766f | Electronics | $329.01 | 473 | ★ 0.7 | 13 | BULK-9c45b8bf |
| 20675 | Bulk Product 9599ed6b | Home & Garden | $572.32 | 16 | ★ 3.9 | 20 | BULK-59928fa2 |
| 20676 | Bulk Product b7b455b0 | Sports & Outdoors | $437.42 | 213 | ★ 1.2 | 3 | BULK-a60b038a |
| 20677 | Bulk Product bf0554bb | Clothing | $585.55 | 212 | ★ 2.7 | 17 | BULK-f280fa59 |
| 20678 | Bulk Product a1496bfb | Clothing | $119.20 | 453 | ★ 2.9 | 9 | BULK-11726fbc |
| 20679 | Bulk Product 0b8e6e88 | Clothing | $820.81 | 294 | ★ 2.4 | 17 | BULK-7dffe0d3 |
| 20680 | Bulk Product 7c0e7a17 | Clothing | $748.06 | 31 | ★ 0.6 | 25 | BULK-fd2e3e6b |
| 20681 | Bulk Product 4f107980 | Electronics | $505.66 | 485 | ★ 4.9 | 84 | BULK-32caaf35 |
| 20682 | Bulk Product 681a5bbd | Home & Garden | $847.39 | 117 | ★ 0.0 | 72 | BULK-d0a199e0 |
| 20683 | Bulk Product 15f1b776 | Home & Garden | $32.42 | 329 | ★ 3.0 | 79 | BULK-750b84ce |
| 20684 | Bulk Product d67d2894 | Electronics | $944.38 | 38 | ★ 3.1 | 42 | BULK-b48d3918 |
| 20685 | Bulk Product 0c6ca2de | Home & Garden | $587.75 | 384 | ★ 0.6 | 95 | BULK-3ffb9c7d |
| 20686 | Bulk Product af5e54d8 | Books | $435.21 | 219 | ★ 4.9 | 83 | BULK-9788ddf3 |
| 20687 | Bulk Product da50629e | Books | $675.97 | 439 | ★ 2.2 | 98 | BULK-8000dffc |
| 20688 | Bulk Product 5170cf19 | Home & Garden | $287.67 | 78 | ★ 1.0 | 20 | BULK-56199900 |
| 20689 | Bulk Product a0d5012c | Clothing | $211.18 | 409 | ★ 0.3 | 35 | BULK-45df0c13 |
| 20690 | Bulk Product e71bead6 | Toys & Games | $61.78 | 463 | ★ 1.1 | 21 | BULK-77737c60 |
| 20691 | Bulk Product 79bf24d3 | Electronics | $179.28 | 374 | ★ 2.9 | 55 | BULK-2a6080f5 |
| 20692 | Bulk Product 7fabac99 | Toys & Games | $932.93 | 444 | ★ 4.5 | 14 | BULK-1559c4cf |
| 20693 | Bulk Product 05bbde4e | Home & Garden | $1,005.56 | 304 | ★ 0.3 | 26 | BULK-782a80bc |
| 20694 | Bulk Product d9b685e1 | Sports & Outdoors | $145.17 | 137 | ★ 0.1 | 55 | BULK-1a29e4bb |
| 20695 | Bulk Product c474eccc | Electronics | $686.19 | 332 | ★ 1.3 | 15 | BULK-3ad5e50d |
| 20696 | Bulk Product 1eb63e3a | Sports & Outdoors | $238.99 | 8 | ★ 4.3 | 42 | BULK-3b590aa3 |
| 20697 | Bulk Product 1d5be77e | Toys & Games | $768.97 | 72 | ★ 1.9 | 69 | BULK-e0d2cb28 |
| 20698 | Bulk Product 39a48623 | Home & Garden | $845.01 | 382 | ★ 1.9 | 80 | BULK-0960322d |
| 20699 | Bulk Product f2157154 | Toys & Games | $947.27 | 122 | ★ 1.6 | 26 | BULK-ff06f5f4 |
| 20700 | Bulk Product 19ea6a02 | Electronics | $382.78 | 139 | ★ 3.5 | 89 | BULK-77cd29f7 |
| 20701 | Bulk Product e0b5f0bf | Electronics | $820.99 | 291 | ★ 4.8 | 95 | BULK-95ace552 |
| 20702 | Bulk Product 9f263f69 | Toys & Games | $384.77 | 336 | ★ 0.4 | 62 | BULK-e17ddaf3 |
| 20703 | Bulk Product 54ff8db6 | Clothing | $287.38 | 443 | ★ 4.7 | 3 | BULK-e8ac1aed |
| 20704 | Bulk Product 9ed28637 | Home & Garden | $990.59 | 54 | ★ 4.4 | 55 | BULK-302c1d51 |
| 20705 | Bulk Product 45298bec | Home & Garden | $420.21 | 153 | ★ 3.7 | 86 | BULK-9bbace06 |
| 20706 | Bulk Product a2e70af4 | Clothing | $966.05 | 156 | ★ 0.1 | 38 | BULK-c28ad6c8 |
| 20707 | Bulk Product 40eaf86b | Toys & Games | $69.18 | 162 | ★ 0.7 | 8 | BULK-65a76e6e |
| 20708 | Bulk Product 262a2fc7 | Electronics | $374.18 | 358 | ★ 3.9 | 28 | BULK-c3260a0b |
| 20709 | Bulk Product 497bfeda | Home & Garden | $379.97 | 477 | ★ 3.9 | 12 | BULK-ca90249c |
// 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
};
}