Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 11960 | Bulk Product dc424f30 | Toys & Games | $647.48 | 479 | ★ 2.8 | 33 | BULK-ee24d149 |
| 11961 | Bulk Product 3cadf583 | Electronics | $948.02 | 282 | ★ 0.6 | 39 | BULK-662e21ee |
| 11962 | Bulk Product a7e43ce9 | Clothing | $535.99 | 385 | ★ 2.5 | 90 | BULK-351d31bd |
| 11963 | Bulk Product 7441be51 | Toys & Games | $843.41 | 4 | ★ 3.9 | 26 | BULK-1867c129 |
| 11964 | Bulk Product 8313af8b | Toys & Games | $918.71 | 202 | ★ 2.2 | 95 | BULK-ba827ad9 |
| 11965 | Bulk Product b3310e74 | Home & Garden | $518.39 | 151 | ★ 0.1 | 30 | BULK-84745da5 |
| 11966 | Bulk Product 1b1ffaa9 | Home & Garden | $673.54 | 484 | ★ 4.1 | 8 | BULK-ac6e95d7 |
| 11967 | Bulk Product c0c09890 | Toys & Games | $377.33 | 331 | ★ 0.7 | 8 | BULK-bd1c47dc |
| 11968 | Bulk Product a72d33c7 | Toys & Games | $878.94 | 442 | ★ 2.6 | 4 | BULK-859bd9da |
| 11969 | Bulk Product 2467c612 | Books | $233.10 | 129 | ★ 2.0 | 96 | BULK-86657476 |
| 11970 | Bulk Product 3bc24c25 | Sports & Outdoors | $366.01 | 454 | ★ 3.8 | 28 | BULK-78a206c8 |
| 11971 | Bulk Product 4662ebd7 | Electronics | $932.82 | 289 | ★ 1.4 | 51 | BULK-627cf9df |
| 11972 | Bulk Product c0984d15 | Toys & Games | $14.16 | 330 | ★ 3.0 | 22 | BULK-515003a8 |
| 11973 | Bulk Product 2043e4ef | Toys & Games | $128.61 | 165 | ★ 3.5 | 45 | BULK-7a5674e2 |
| 11974 | Bulk Product 6cbdb59b | Home & Garden | $302.20 | 292 | ★ 4.9 | 40 | BULK-c0a98286 |
| 11975 | Bulk Product 8b092f08 | Clothing | $392.89 | 312 | ★ 5.0 | 43 | BULK-3274afd8 |
| 11976 | Bulk Product b0d7cb3b | Books | $97.95 | 250 | ★ 0.4 | 30 | BULK-f283d173 |
| 11977 | Bulk Product e8f535f4 | Home & Garden | $97.26 | 197 | ★ 3.0 | 65 | BULK-c4064878 |
| 11978 | Bulk Product 9f26e3ab | Electronics | $950.73 | 487 | ★ 4.0 | 96 | BULK-4d61e69f |
| 11979 | Bulk Product 4c0498d9 | Toys & Games | $988.89 | 170 | ★ 4.4 | 3 | BULK-f5c0e3c3 |
| 11980 | Bulk Product 764ebb78 | Home & Garden | $357.69 | 194 | ★ 4.5 | 90 | BULK-7694ac16 |
| 11981 | Bulk Product de121a93 | Clothing | $814.10 | 465 | ★ 0.5 | 9 | BULK-93215a41 |
| 11982 | Bulk Product 7f331929 | Home & Garden | $903.48 | 103 | ★ 3.6 | 26 | BULK-d6deee0a |
| 11983 | Bulk Product 70e8fe40 | Toys & Games | $644.93 | 471 | ★ 1.4 | 32 | BULK-b8899be1 |
| 11984 | Bulk Product e74b9701 | Clothing | $617.19 | 200 | ★ 3.5 | 33 | BULK-b3fa2442 |
| 11985 | Bulk Product b5429579 | Home & Garden | $696.73 | 408 | ★ 3.8 | 90 | BULK-e5de19f8 |
| 11986 | Bulk Product 79a9dc86 | Sports & Outdoors | $701.62 | 59 | ★ 3.6 | 9 | BULK-121d0194 |
| 11987 | Bulk Product adada67d | Toys & Games | $640.72 | 347 | ★ 3.4 | 64 | BULK-aa6ffc7f |
| 11988 | Bulk Product 73695822 | Sports & Outdoors | $293.06 | 484 | ★ 4.4 | 53 | BULK-b17b7cc7 |
| 11989 | Bulk Product 9311aa77 | Toys & Games | $468.09 | 442 | ★ 3.0 | 72 | BULK-60d51cc4 |
| 11990 | Bulk Product 63a07b36 | Electronics | $639.81 | 154 | ★ 0.3 | 82 | BULK-20db7554 |
| 11991 | Bulk Product 267f06b4 | Sports & Outdoors | $477.07 | 272 | ★ 0.7 | 62 | BULK-55405765 |
| 11992 | Bulk Product bfbfffe8 | Clothing | $277.27 | 179 | ★ 1.4 | 52 | BULK-4e66c8da |
| 11993 | Bulk Product 2617f3d6 | Home & Garden | $828.99 | 412 | ★ 1.6 | 97 | BULK-a735ccd8 |
| 11994 | Bulk Product 8169495b | Clothing | $451.43 | 284 | ★ 1.0 | 20 | BULK-aecb8fba |
| 11995 | Bulk Product 9257ebcb | Books | $147.42 | 78 | ★ 3.6 | 98 | BULK-750d54e3 |
| 11996 | Bulk Product 85b80758 | Books | $408.42 | 59 | ★ 4.7 | 33 | BULK-8b658097 |
| 11997 | Bulk Product d9056812 | Home & Garden | $924.26 | 133 | ★ 1.7 | 13 | BULK-61ac13d1 |
| 11998 | Bulk Product 81d9e7b3 | Home & Garden | $645.95 | 200 | ★ 3.9 | 57 | BULK-60d02099 |
| 11999 | Bulk Product 99e4d6e5 | Clothing | $217.03 | 122 | ★ 0.6 | 39 | BULK-33606f67 |
| 12000 | Bulk Product dbe927b7 | Sports & Outdoors | $523.18 | 463 | ★ 4.3 | 27 | BULK-3bab24b9 |
| 12001 | Bulk Product 32e44b5a | Home & Garden | $852.93 | 123 | ★ 1.2 | 42 | BULK-943b88bc |
| 12002 | Bulk Product b9d4dd77 | Clothing | $662.94 | 440 | ★ 3.4 | 65 | BULK-fadbedf9 |
| 12003 | Bulk Product 7f2e2a7e | Sports & Outdoors | $225.64 | 89 | ★ 4.3 | 83 | BULK-149416af |
| 12004 | Bulk Product f594f007 | Clothing | $415.42 | 180 | ★ 4.3 | 0 | BULK-ae56a8e0 |
| 12005 | Bulk Product ea97281e | Electronics | $623.73 | 335 | ★ 4.2 | 14 | BULK-6bcf2823 |
| 12006 | Bulk Product f6704397 | Clothing | $650.19 | 455 | ★ 2.0 | 76 | BULK-70a2a66f |
| 12007 | Bulk Product 3c80ffdd | Home & Garden | $731.74 | 161 | ★ 2.5 | 9 | BULK-50367cdd |
| 12008 | Bulk Product 1c8aeef4 | Home & Garden | $550.44 | 123 | ★ 4.3 | 73 | BULK-c9a4ece9 |
| 12009 | Bulk Product 98fe8864 | Home & Garden | $870.57 | 103 | ★ 3.1 | 46 | BULK-c31aee40 |
// 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
};
}