Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 11060 | Bulk Product e763dbac | Toys & Games | $493.02 | 462 | ★ 1.4 | 78 | BULK-3c29b65c |
| 11061 | Bulk Product e2f71eb1 | Sports & Outdoors | $333.34 | 351 | ★ 4.3 | 20 | BULK-ca8bad60 |
| 11062 | Bulk Product dd1ed981 | Books | $822.17 | 270 | ★ 2.6 | 55 | BULK-243db79a |
| 11063 | Bulk Product 39d8bdd3 | Clothing | $896.65 | 244 | ★ 3.7 | 0 | BULK-d7167cb8 |
| 11064 | Bulk Product b8c6aa34 | Home & Garden | $544.03 | 432 | ★ 1.1 | 45 | BULK-81057145 |
| 11065 | Bulk Product e32cee37 | Toys & Games | $361.65 | 26 | ★ 0.3 | 3 | BULK-be4085af |
| 11066 | Bulk Product 4fd289e2 | Electronics | $336.13 | 473 | ★ 3.2 | 40 | BULK-3578a486 |
| 11067 | Bulk Product dd67bf13 | Clothing | $290.39 | 288 | ★ 0.8 | 94 | BULK-a0e14628 |
| 11068 | Bulk Product 4a6e8d0c | Electronics | $303.36 | 236 | ★ 4.4 | 58 | BULK-418f5987 |
| 11069 | Bulk Product ae138d7d | Home & Garden | $366.32 | 169 | ★ 0.4 | 35 | BULK-d3244050 |
| 11070 | Bulk Product 5ce5cd86 | Books | $243.91 | 388 | ★ 3.9 | 9 | BULK-b6e002a2 |
| 11071 | Bulk Product 360cfd33 | Books | $419.62 | 21 | ★ 3.3 | 12 | BULK-db9643d5 |
| 11072 | Bulk Product c75cd26f | Toys & Games | $961.65 | 454 | ★ 0.1 | 13 | BULK-f404bddc |
| 11073 | Bulk Product 6e7bb8c2 | Home & Garden | $56.76 | 317 | ★ 3.5 | 87 | BULK-af537878 |
| 11074 | Bulk Product 1f7d4894 | Toys & Games | $547.29 | 499 | ★ 1.0 | 59 | BULK-91e67866 |
| 11075 | Bulk Product d37843fa | Clothing | $572.89 | 212 | ★ 2.6 | 49 | BULK-81f1e1e4 |
| 11076 | Bulk Product b0ff805c | Sports & Outdoors | $261.35 | 464 | ★ 3.6 | 6 | BULK-7333e195 |
| 11077 | Bulk Product 2409864a | Electronics | $407.86 | 164 | ★ 1.9 | 32 | BULK-ce8e1aac |
| 11078 | Bulk Product 5b6afae6 | Home & Garden | $484.93 | 316 | ★ 0.0 | 22 | BULK-b277242b |
| 11079 | Bulk Product a647e065 | Clothing | $419.47 | 35 | ★ 4.1 | 64 | BULK-816c69cc |
| 11080 | Bulk Product c5d5beef | Toys & Games | $346.64 | 36 | ★ 3.7 | 16 | BULK-713ce42c |
| 11081 | Bulk Product 41db0c38 | Toys & Games | $584.14 | 300 | ★ 1.4 | 18 | BULK-e0f415e3 |
| 11082 | Bulk Product 49586eec | Home & Garden | $79.38 | 236 | ★ 2.6 | 51 | BULK-99c594aa |
| 11083 | Bulk Product 9878f322 | Sports & Outdoors | $59.94 | 423 | ★ 3.1 | 87 | BULK-f53b42bf |
| 11084 | Bulk Product 8950a7fa | Clothing | $327.10 | 75 | ★ 4.6 | 67 | BULK-11f3ac59 |
| 11085 | Bulk Product 4269bc54 | Home & Garden | $972.42 | 18 | ★ 4.8 | 68 | BULK-63a4cb3d |
| 11086 | Bulk Product d21407af | Clothing | $765.47 | 496 | ★ 4.0 | 35 | BULK-6a6daa01 |
| 11087 | Bulk Product 2ccfefdd | Toys & Games | $785.06 | 365 | ★ 4.1 | 23 | BULK-95fe74d7 |
| 11088 | Bulk Product 407773c3 | Home & Garden | $363.57 | 214 | ★ 2.8 | 63 | BULK-333e4868 |
| 11089 | Bulk Product 214c0223 | Sports & Outdoors | $42.17 | 17 | ★ 4.0 | 42 | BULK-e3e572c8 |
| 11090 | Bulk Product 8c102806 | Electronics | $817.24 | 495 | ★ 0.6 | 41 | BULK-abcfbc02 |
| 11091 | Bulk Product d7f5e215 | Sports & Outdoors | $619.18 | 236 | ★ 3.8 | 88 | BULK-de67e84b |
| 11092 | Bulk Product f83b1179 | Clothing | $539.28 | 405 | ★ 1.9 | 93 | BULK-1f1bae22 |
| 11093 | Bulk Product 2e9f2941 | Sports & Outdoors | $766.75 | 83 | ★ 1.5 | 50 | BULK-afa70fd2 |
| 11094 | Bulk Product cea05317 | Electronics | $713.44 | 229 | ★ 0.8 | 75 | BULK-9ae84912 |
| 11095 | Bulk Product 2d3d913f | Clothing | $589.54 | 363 | ★ 2.8 | 97 | BULK-ed5aab51 |
| 11096 | Bulk Product 16f4190c | Books | $858.21 | 317 | ★ 2.4 | 22 | BULK-ff76f068 |
| 11097 | Bulk Product 3e43cb31 | Electronics | $656.74 | 72 | ★ 0.8 | 7 | BULK-7cd2b11a |
| 11098 | Bulk Product 83260184 | Electronics | $317.53 | 73 | ★ 2.8 | 79 | BULK-0a3d566d |
| 11099 | Bulk Product d37733ce | Home & Garden | $216.01 | 212 | ★ 4.8 | 29 | BULK-7ed809c1 |
| 11100 | Bulk Product a4341689 | Home & Garden | $788.47 | 269 | ★ 2.3 | 5 | BULK-73c369ec |
| 11101 | Bulk Product be8f64df | Sports & Outdoors | $991.61 | 381 | ★ 3.4 | 69 | BULK-7944b61b |
| 11102 | Bulk Product 82bc09b4 | Books | $203.54 | 173 | ★ 4.1 | 52 | BULK-ef7b0fb8 |
| 11103 | Bulk Product 63f9037e | Toys & Games | $629.16 | 275 | ★ 1.6 | 30 | BULK-823fdd7e |
| 11104 | Bulk Product e8450642 | Clothing | $229.73 | 185 | ★ 0.4 | 32 | BULK-96f5bd54 |
| 11105 | Bulk Product ce27c79e | Clothing | $216.20 | 23 | ★ 2.8 | 30 | BULK-d5811b06 |
| 11106 | Bulk Product 4bc1af77 | Toys & Games | $314.93 | 207 | ★ 1.7 | 28 | BULK-f07800fb |
| 11107 | Bulk Product 8ceaadee | Books | $734.43 | 160 | ★ 0.8 | 46 | BULK-980dd3c8 |
| 11108 | Bulk Product c6d9e179 | Sports & Outdoors | $286.31 | 458 | ★ 0.5 | 9 | BULK-9a226394 |
| 11109 | Bulk Product 9bc79dac | Home & Garden | $872.24 | 264 | ★ 4.0 | 43 | BULK-d330f59e |
// 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
};
}