Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 5960 | Bulk Product 2ecc5221 | Books | $700.47 | 414 | ★ 2.9 | 52 | BULK-cb15b9f8 |
| 5961 | Bulk Product 9b32fd0c | Sports & Outdoors | $585.50 | 89 | ★ 4.4 | 25 | BULK-e2c6054a |
| 5962 | Bulk Product 33cbdbe4 | Clothing | $476.42 | 18 | ★ 0.4 | 96 | BULK-297a7706 |
| 5963 | Bulk Product 42a99537 | Electronics | $518.62 | 179 | ★ 2.4 | 89 | BULK-d3ae86a9 |
| 5964 | Bulk Product 2b82c6ca | Books | $233.46 | 206 | ★ 0.0 | 32 | BULK-312a37db |
| 5965 | Bulk Product 89eae36f | Clothing | $37.03 | 274 | ★ 3.5 | 59 | BULK-8b012cff |
| 5966 | Bulk Product b2996f3f | Clothing | $378.47 | 268 | ★ 3.5 | 52 | BULK-9a4a4f3e |
| 5967 | Bulk Product 2902d60e | Sports & Outdoors | $76.45 | 91 | ★ 0.4 | 50 | BULK-ef7fdd0d |
| 5968 | Bulk Product cb905ee9 | Sports & Outdoors | $18.79 | 262 | ★ 1.9 | 44 | BULK-93ca7d38 |
| 5969 | Bulk Product 501890b4 | Sports & Outdoors | $429.17 | 198 | ★ 4.8 | 78 | BULK-79074747 |
| 5970 | Bulk Product 9cad5624 | Books | $227.34 | 197 | ★ 2.7 | 52 | BULK-402ba46d |
| 5971 | Bulk Product 672654c3 | Books | $572.60 | 402 | ★ 1.4 | 39 | BULK-c3b23e6f |
| 5972 | Bulk Product bfb46f5f | Books | $101.76 | 102 | ★ 3.2 | 38 | BULK-9e6bbf09 |
| 5973 | Bulk Product e715eda5 | Toys & Games | $504.34 | 101 | ★ 3.6 | 9 | BULK-d3803f47 |
| 5974 | Bulk Product b5e1f720 | Books | $373.63 | 372 | ★ 1.8 | 71 | BULK-6ad76b22 |
| 5975 | Bulk Product 5ca98fff | Books | $128.19 | 388 | ★ 4.5 | 77 | BULK-f1e908d4 |
| 5976 | Bulk Product d3408cf3 | Books | $372.97 | 372 | ★ 0.0 | 91 | BULK-41c25717 |
| 5977 | Bulk Product 9d25310d | Sports & Outdoors | $728.66 | 467 | ★ 0.6 | 7 | BULK-83996cd6 |
| 5978 | Bulk Product 1a5d6b94 | Home & Garden | $303.08 | 165 | ★ 1.0 | 63 | BULK-69223dc0 |
| 5979 | Bulk Product c20057bf | Toys & Games | $167.00 | 436 | ★ 2.9 | 70 | BULK-a6780fa1 |
| 5980 | Bulk Product 834ca149 | Toys & Games | $101.20 | 398 | ★ 3.1 | 79 | BULK-6093b040 |
| 5981 | Bulk Product 59b51672 | Clothing | $986.46 | 47 | ★ 2.2 | 26 | BULK-934b4463 |
| 5982 | Bulk Product 7889833e | Toys & Games | $96.55 | 232 | ★ 1.4 | 77 | BULK-2650411f |
| 5983 | Bulk Product 19cea2d5 | Sports & Outdoors | $632.11 | 327 | ★ 0.3 | 35 | BULK-d635a65e |
| 5984 | Bulk Product 2e019445 | Clothing | $147.25 | 207 | ★ 4.1 | 26 | BULK-46298e31 |
| 5985 | Bulk Product ecd12cbf | Toys & Games | $144.51 | 372 | ★ 2.7 | 35 | BULK-12346c72 |
| 5986 | Bulk Product 2208a952 | Toys & Games | $446.02 | 407 | ★ 1.3 | 86 | BULK-55b8b576 |
| 5987 | Bulk Product b2a5f01e | Sports & Outdoors | $576.54 | 44 | ★ 5.0 | 14 | BULK-4b7d03c1 |
| 5988 | Bulk Product ee83c5e9 | Clothing | $177.74 | 465 | ★ 2.0 | 49 | BULK-3501e5b4 |
| 5989 | Bulk Product a4bf40bb | Sports & Outdoors | $13.57 | 335 | ★ 1.6 | 91 | BULK-efb88cce |
| 5990 | Bulk Product 7d70cebc | Clothing | $770.04 | 407 | ★ 4.2 | 41 | BULK-aed911e4 |
| 5991 | Bulk Product 8df6cd85 | Toys & Games | $281.22 | 481 | ★ 2.5 | 23 | BULK-c06ff89c |
| 5992 | Bulk Product 47f0bafe | Clothing | $966.89 | 418 | ★ 2.1 | 70 | BULK-eddc01cf |
| 5993 | Bulk Product 565601ff | Clothing | $649.90 | 230 | ★ 0.3 | 49 | BULK-583eee68 |
| 5994 | Bulk Product 0083ec2d | Electronics | $780.38 | 462 | ★ 1.1 | 74 | BULK-36d4d5b4 |
| 5995 | Bulk Product 627a449a | Sports & Outdoors | $269.20 | 162 | ★ 3.9 | 0 | BULK-6524e9ce |
| 5996 | Bulk Product 6730934a | Toys & Games | $37.30 | 278 | ★ 4.0 | 55 | BULK-66b3b2bb |
| 5997 | Bulk Product 60617a42 | Toys & Games | $255.13 | 435 | ★ 2.2 | 81 | BULK-22c25b68 |
| 5998 | Bulk Product a284db50 | Electronics | $421.62 | 21 | ★ 2.2 | 56 | BULK-63896bd9 |
| 5999 | Bulk Product ab6c73c0 | Clothing | $77.43 | 217 | ★ 0.3 | 40 | BULK-2fe32846 |
| 6000 | Bulk Product 4dc8139b | Books | $293.25 | 148 | ★ 4.1 | 7 | BULK-2a5540de |
| 6001 | Bulk Product d011fb9e | Electronics | $408.96 | 4 | ★ 4.2 | 63 | BULK-66ec542b |
| 6002 | Bulk Product 54ba7a16 | Sports & Outdoors | $799.50 | 442 | ★ 1.5 | 74 | BULK-81b8d541 |
| 6003 | Bulk Product 0a6d7eba | Books | $37.52 | 136 | ★ 4.5 | 43 | BULK-1d4df702 |
| 6004 | Bulk Product 273970c1 | Sports & Outdoors | $565.24 | 153 | ★ 0.0 | 9 | BULK-d24f2635 |
| 6005 | Bulk Product 44d6cea0 | Books | $452.41 | 308 | ★ 3.7 | 41 | BULK-0a1bc124 |
| 6006 | Bulk Product f32005ea | Electronics | $937.63 | 444 | ★ 4.6 | 8 | BULK-f30ee279 |
| 6007 | Bulk Product 08b6b957 | Clothing | $519.60 | 203 | ★ 2.2 | 69 | BULK-6b1c829e |
| 6008 | Bulk Product 932599b3 | Clothing | $301.77 | 213 | ★ 0.4 | 92 | BULK-5d2dd385 |
| 6009 | Bulk Product b739eaad | Sports & Outdoors | $249.13 | 493 | ★ 2.6 | 82 | BULK-6d1de922 |
// 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
};
}