Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 13960 | Bulk Product 49f79281 | Toys & Games | $319.97 | 240 | ★ 2.7 | 67 | BULK-cf8bbed2 |
| 13961 | Bulk Product bfc40e32 | Books | $750.52 | 305 | ★ 2.2 | 96 | BULK-86dd97ae |
| 13962 | Bulk Product 14c3a865 | Clothing | $702.18 | 29 | ★ 0.5 | 60 | BULK-541d1fa6 |
| 13963 | Bulk Product c7dbdffa | Clothing | $992.92 | 145 | ★ 0.4 | 45 | BULK-17ec61f8 |
| 13964 | Bulk Product 66f41ebe | Toys & Games | $544.57 | 327 | ★ 3.8 | 36 | BULK-165461c4 |
| 13965 | Bulk Product 7c367246 | Books | $167.09 | 390 | ★ 1.1 | 15 | BULK-16f6a00f |
| 13966 | Bulk Product 300e02c4 | Clothing | $196.27 | 375 | ★ 4.1 | 14 | BULK-83789b9a |
| 13967 | Bulk Product 14b96e39 | Sports & Outdoors | $819.18 | 479 | ★ 1.4 | 84 | BULK-34ada9f7 |
| 13968 | Bulk Product 29d3e573 | Electronics | $811.22 | 177 | ★ 2.4 | 81 | BULK-40e3d46e |
| 13969 | Bulk Product 10503173 | Toys & Games | $66.86 | 292 | ★ 4.9 | 88 | BULK-f4cf86b7 |
| 13970 | Bulk Product 20a79110 | Sports & Outdoors | $1,001.25 | 268 | ★ 4.5 | 12 | BULK-0d52e937 |
| 13971 | Bulk Product b997e3b5 | Electronics | $556.04 | 17 | ★ 2.7 | 90 | BULK-229c6e00 |
| 13972 | Bulk Product 7611dac2 | Clothing | $734.26 | 414 | ★ 2.9 | 89 | BULK-5f3f49b7 |
| 13973 | Bulk Product 7cd58fdb | Books | $965.86 | 167 | ★ 0.0 | 19 | BULK-d047be13 |
| 13974 | Bulk Product 396a29e8 | Clothing | $333.90 | 190 | ★ 0.9 | 26 | BULK-39b8b895 |
| 13975 | Bulk Product cac7ebc7 | Electronics | $1,000.64 | 197 | ★ 2.4 | 44 | BULK-a787f273 |
| 13976 | Bulk Product b60be248 | Clothing | $265.40 | 374 | ★ 4.7 | 42 | BULK-68c1ef10 |
| 13977 | Bulk Product 60c285b8 | Clothing | $576.31 | 231 | ★ 0.4 | 22 | BULK-a8d3fd41 |
| 13978 | Bulk Product 94612dc4 | Toys & Games | $813.15 | 57 | ★ 4.8 | 5 | BULK-3f4195a0 |
| 13979 | Bulk Product ecff376f | Clothing | $481.07 | 117 | ★ 1.9 | 97 | BULK-d6dad3b3 |
| 13980 | Bulk Product f1cbb1ab | Home & Garden | $750.72 | 84 | ★ 0.8 | 38 | BULK-f292471d |
| 13981 | Bulk Product 4a68c3df | Electronics | $622.57 | 221 | ★ 0.6 | 71 | BULK-4ee1415d |
| 13982 | Bulk Product 62809ceb | Electronics | $728.90 | 318 | ★ 5.0 | 52 | BULK-e48f425d |
| 13983 | Bulk Product afdba7b1 | Clothing | $546.88 | 172 | ★ 1.3 | 46 | BULK-b4435a43 |
| 13984 | Bulk Product 5d9eb3ce | Home & Garden | $219.82 | 185 | ★ 1.7 | 35 | BULK-bd57cbc5 |
| 13985 | Bulk Product b99c904a | Clothing | $123.88 | 218 | ★ 0.5 | 68 | BULK-976debcb |
| 13986 | Bulk Product f9159494 | Toys & Games | $360.32 | 60 | ★ 0.7 | 41 | BULK-490b6761 |
| 13987 | Bulk Product 9af57427 | Electronics | $893.72 | 373 | ★ 2.9 | 83 | BULK-ac5f9a3f |
| 13988 | Bulk Product 6bf9f954 | Toys & Games | $548.98 | 254 | ★ 1.4 | 93 | BULK-ff51205e |
| 13989 | Bulk Product e955e69f | Home & Garden | $516.49 | 433 | ★ 3.9 | 91 | BULK-724e1ebc |
| 13990 | Bulk Product 039aa82f | Home & Garden | $923.14 | 380 | ★ 1.9 | 34 | BULK-62b52410 |
| 13991 | Bulk Product 4779cf93 | Sports & Outdoors | $789.98 | 35 | ★ 4.0 | 2 | BULK-1a4818a7 |
| 13992 | Bulk Product ab14eba4 | Toys & Games | $160.97 | 313 | ★ 0.3 | 75 | BULK-9ed29635 |
| 13993 | Bulk Product 87758823 | Home & Garden | $843.07 | 103 | ★ 3.8 | 74 | BULK-8d0c8503 |
| 13994 | Bulk Product 86ce161f | Sports & Outdoors | $403.08 | 65 | ★ 2.0 | 59 | BULK-605cdf95 |
| 13995 | Bulk Product 81528506 | Electronics | $171.39 | 200 | ★ 2.4 | 55 | BULK-2947f204 |
| 13996 | Bulk Product 47f5b14a | Books | $90.83 | 266 | ★ 2.7 | 3 | BULK-8bf66052 |
| 13997 | Bulk Product 91302a8d | Home & Garden | $433.78 | 147 | ★ 4.2 | 29 | BULK-9fdb874e |
| 13998 | Bulk Product ace17c91 | Home & Garden | $683.36 | 366 | ★ 2.7 | 5 | BULK-55c0eaa5 |
| 13999 | Bulk Product ae3d4be9 | Clothing | $521.47 | 4 | ★ 4.6 | 5 | BULK-9d3abc8e |
| 14000 | Bulk Product 4bd55dc3 | Home & Garden | $437.98 | 98 | ★ 3.0 | 63 | BULK-46ee42ab |
| 14001 | Bulk Product 2ac8644e | Toys & Games | $810.79 | 340 | ★ 3.0 | 33 | BULK-28635b5b |
| 14002 | Bulk Product ca61e9d8 | Books | $115.83 | 156 | ★ 1.3 | 11 | BULK-1360136b |
| 14003 | Bulk Product 3a045b13 | Home & Garden | $467.13 | 22 | ★ 4.8 | 23 | BULK-fa9cdf1e |
| 14004 | Bulk Product 5cd9ec55 | Clothing | $465.10 | 78 | ★ 2.3 | 11 | BULK-26f37e17 |
| 14005 | Bulk Product bb082710 | Electronics | $771.76 | 396 | ★ 2.6 | 41 | BULK-6cd60cf3 |
| 14006 | Bulk Product bd4816f2 | Sports & Outdoors | $392.46 | 61 | ★ 4.1 | 22 | BULK-07a172ea |
| 14007 | Bulk Product 00e0469d | Toys & Games | $883.55 | 382 | ★ 2.3 | 44 | BULK-2b7ecd25 |
| 14008 | Bulk Product ccc4c307 | Clothing | $17.69 | 342 | ★ 3.2 | 12 | BULK-dc8ba29b |
| 14009 | Bulk Product c43e4138 | Toys & Games | $869.64 | 64 | ★ 0.5 | 94 | BULK-ab50a8f8 |
// 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
};
}