Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 14960 | Bulk Product ccc2f966 | Books | $965.20 | 248 | ★ 0.6 | 13 | BULK-8f420f42 |
| 14961 | Bulk Product 0ba20e0f | Electronics | $81.49 | 112 | ★ 4.2 | 76 | BULK-6bcbd3db |
| 14962 | Bulk Product 563c620d | Home & Garden | $464.44 | 126 | ★ 0.3 | 5 | BULK-8fe03fe5 |
| 14963 | Bulk Product ebda1642 | Electronics | $364.86 | 240 | ★ 0.4 | 97 | BULK-b3aa70f4 |
| 14964 | Bulk Product 0ff243c5 | Sports & Outdoors | $129.10 | 477 | ★ 4.6 | 17 | BULK-a261c99b |
| 14965 | Bulk Product e62c1272 | Books | $734.10 | 154 | ★ 1.2 | 31 | BULK-3933c97d |
| 14966 | Bulk Product a489aed4 | Books | $873.15 | 26 | ★ 0.5 | 6 | BULK-d363b45f |
| 14967 | Bulk Product 269b2e9d | Home & Garden | $920.90 | 8 | ★ 0.1 | 79 | BULK-34a38224 |
| 14968 | Bulk Product 12f3dee7 | Books | $589.43 | 102 | ★ 1.7 | 18 | BULK-d8847bda |
| 14969 | Bulk Product b6625514 | Clothing | $676.26 | 143 | ★ 2.0 | 80 | BULK-1b9913e8 |
| 14970 | Bulk Product 8accbeab | Toys & Games | $66.00 | 354 | ★ 2.5 | 9 | BULK-764e3e2b |
| 14971 | Bulk Product 5f6c94b0 | Home & Garden | $123.51 | 266 | ★ 1.8 | 90 | BULK-8523a48a |
| 14972 | Bulk Product 49087765 | Books | $695.10 | 120 | ★ 0.3 | 35 | BULK-3c0c282e |
| 14973 | Bulk Product 910d14d3 | Electronics | $282.10 | 156 | ★ 2.0 | 16 | BULK-309a2ba6 |
| 14974 | Bulk Product a20222e6 | Books | $725.71 | 362 | ★ 0.9 | 59 | BULK-25b0afb9 |
| 14975 | Bulk Product a545c15d | Clothing | $345.24 | 487 | ★ 3.9 | 6 | BULK-d342e415 |
| 14976 | Bulk Product 68201aa8 | Clothing | $117.70 | 104 | ★ 3.5 | 34 | BULK-761078e5 |
| 14977 | Bulk Product d20b8c96 | Sports & Outdoors | $727.81 | 73 | ★ 3.1 | 38 | BULK-5ad1e681 |
| 14978 | Bulk Product 27da4758 | Electronics | $832.20 | 45 | ★ 1.3 | 14 | BULK-11484f8e |
| 14979 | Bulk Product 54ef3d12 | Home & Garden | $32.72 | 88 | ★ 3.0 | 16 | BULK-a473785f |
| 14980 | Bulk Product 84bbc820 | Sports & Outdoors | $47.80 | 462 | ★ 4.8 | 31 | BULK-789984d4 |
| 14981 | Bulk Product e845d18e | Toys & Games | $453.50 | 410 | ★ 1.1 | 37 | BULK-b519ecdd |
| 14982 | Bulk Product 6b4badd7 | Toys & Games | $903.43 | 10 | ★ 0.6 | 16 | BULK-727c3660 |
| 14983 | Bulk Product c1bb2bd4 | Home & Garden | $261.78 | 41 | ★ 4.3 | 48 | BULK-b97aa1f1 |
| 14984 | Bulk Product 9dd65efe | Home & Garden | $416.69 | 31 | ★ 0.7 | 19 | BULK-c7b2a30a |
| 14985 | Bulk Product 4818f993 | Toys & Games | $177.83 | 289 | ★ 4.6 | 71 | BULK-e2920273 |
| 14986 | Bulk Product d8b3e894 | Clothing | $92.82 | 130 | ★ 3.7 | 60 | BULK-692a6866 |
| 14987 | Bulk Product e094eef8 | Sports & Outdoors | $57.75 | 72 | ★ 2.5 | 80 | BULK-ccbb332d |
| 14988 | Bulk Product ad41d3d0 | Toys & Games | $677.90 | 458 | ★ 4.2 | 4 | BULK-a57f67c6 |
| 14989 | Bulk Product 8a8e30e4 | Toys & Games | $161.79 | 270 | ★ 3.9 | 39 | BULK-01cf4575 |
| 14990 | Bulk Product e14182bc | Books | $719.01 | 54 | ★ 4.0 | 13 | BULK-2820381d |
| 14991 | Bulk Product c9cc88d6 | Clothing | $70.47 | 453 | ★ 0.6 | 1 | BULK-9d77566f |
| 14992 | Bulk Product 988f2418 | Books | $626.91 | 205 | ★ 4.4 | 89 | BULK-78677dd0 |
| 14993 | Bulk Product 21df42f4 | Clothing | $381.90 | 493 | ★ 3.3 | 17 | BULK-2ebeb586 |
| 14994 | Bulk Product 69adbbf8 | Clothing | $544.45 | 174 | ★ 0.8 | 97 | BULK-053fba91 |
| 14995 | Bulk Product 56ee7b47 | Sports & Outdoors | $169.45 | 376 | ★ 4.5 | 32 | BULK-5996ab93 |
| 14996 | Bulk Product 8535100f | Toys & Games | $837.19 | 36 | ★ 1.3 | 53 | BULK-492d3eb9 |
| 14997 | Bulk Product ffbabbee | Clothing | $53.42 | 75 | ★ 4.1 | 38 | BULK-9af35a54 |
| 14998 | Bulk Product f8235142 | Sports & Outdoors | $188.23 | 146 | ★ 1.5 | 0 | BULK-bc901d9a |
| 14999 | Bulk Product 18bd47a3 | Electronics | $360.27 | 445 | ★ 1.2 | 52 | BULK-d7a339be |
| 15000 | Bulk Product f6d9262e | Sports & Outdoors | $485.65 | 51 | ★ 1.3 | 61 | BULK-abd130df |
| 15001 | Bulk Product db23f154 | Sports & Outdoors | $25.71 | 479 | ★ 3.0 | 29 | BULK-518950cd |
| 15002 | Bulk Product 95a8eba7 | Toys & Games | $658.99 | 356 | ★ 2.6 | 6 | BULK-ae81f62b |
| 15003 | Bulk Product a4f5ec6c | Sports & Outdoors | $311.51 | 323 | ★ 3.9 | 10 | BULK-56bc8e69 |
| 15004 | Bulk Product 4e468d13 | Toys & Games | $127.67 | 468 | ★ 4.6 | 70 | BULK-22f22e37 |
| 15005 | Bulk Product 0b1d32f1 | Books | $265.85 | 263 | ★ 3.4 | 53 | BULK-d3a9985a |
| 15006 | Bulk Product e21258aa | Sports & Outdoors | $929.41 | 282 | ★ 3.0 | 65 | BULK-b06948ed |
| 15007 | Bulk Product c2f60c5e | Electronics | $614.61 | 139 | ★ 2.5 | 11 | BULK-fc6f67ad |
| 15008 | Bulk Product 748c07f9 | Electronics | $259.07 | 275 | ★ 0.4 | 43 | BULK-5b83885e |
| 15009 | Bulk Product bd876624 | Clothing | $453.97 | 205 | ★ 0.9 | 99 | BULK-ba931649 |
// 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
};
}