Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 22210 | Bulk Product 58f0b3b1 | Books | $646.45 | 183 | ★ 1.3 | 30 | BULK-94d70932 |
| 22211 | Bulk Product 25501754 | Sports & Outdoors | $835.89 | 140 | ★ 2.1 | 43 | BULK-aafeffa1 |
| 22212 | Bulk Product 034632ed | Sports & Outdoors | $639.29 | 165 | ★ 4.4 | 93 | BULK-25c810c7 |
| 22213 | Bulk Product 1a0ebbf5 | Toys & Games | $797.98 | 277 | ★ 4.4 | 41 | BULK-20394c1b |
| 22214 | Bulk Product 9b21e218 | Books | $49.34 | 411 | ★ 4.2 | 80 | BULK-54f8e329 |
| 22215 | Bulk Product e2191e5a | Electronics | $593.40 | 140 | ★ 2.3 | 17 | BULK-16361ba8 |
| 22216 | Bulk Product 7577a7bd | Clothing | $726.80 | 139 | ★ 3.6 | 23 | BULK-c207f53c |
| 22217 | Bulk Product 2af39035 | Home & Garden | $697.16 | 415 | ★ 1.2 | 92 | BULK-a25efde8 |
| 22218 | Bulk Product 86f9c667 | Clothing | $996.37 | 370 | ★ 1.0 | 51 | BULK-98c86c48 |
| 22219 | Bulk Product 2ccf84e3 | Toys & Games | $841.94 | 146 | ★ 2.5 | 72 | BULK-52bb8f6b |
| 22220 | Bulk Product 6ff64402 | Toys & Games | $378.66 | 182 | ★ 4.6 | 70 | BULK-fb4afc20 |
| 22221 | Bulk Product 70390bbb | Toys & Games | $450.97 | 134 | ★ 2.1 | 18 | BULK-a9b6800a |
| 22222 | Bulk Product 25d1ef7f | Books | $674.47 | 127 | ★ 0.2 | 47 | BULK-f495e935 |
| 22223 | Bulk Product c1daeb30 | Home & Garden | $410.91 | 493 | ★ 4.2 | 81 | BULK-d486c16b |
| 22224 | Bulk Product 2ef4820f | Clothing | $66.70 | 471 | ★ 1.3 | 99 | BULK-e996ad90 |
| 22225 | Bulk Product 0880de70 | Electronics | $490.79 | 423 | ★ 3.5 | 6 | BULK-4e2339c6 |
| 22226 | Bulk Product f2007658 | Sports & Outdoors | $146.94 | 59 | ★ 3.0 | 75 | BULK-0eca2806 |
| 22227 | Bulk Product 1516265b | Clothing | $782.39 | 99 | ★ 2.9 | 61 | BULK-079eed60 |
| 22228 | Bulk Product b1cfde23 | Books | $794.35 | 6 | ★ 4.6 | 37 | BULK-216dd5cf |
| 22229 | Bulk Product 943b41d6 | Toys & Games | $851.47 | 171 | ★ 2.0 | 18 | BULK-9b9e8901 |
| 22230 | Bulk Product 49a19a2e | Home & Garden | $272.86 | 164 | ★ 1.6 | 5 | BULK-26bb0742 |
| 22231 | Bulk Product 7952006d | Clothing | $694.55 | 225 | ★ 4.5 | 96 | BULK-fe0b76b2 |
| 22232 | Bulk Product 2ed8d349 | Clothing | $659.48 | 296 | ★ 1.6 | 45 | BULK-cf85c144 |
| 22233 | Bulk Product ecad890d | Clothing | $835.87 | 474 | ★ 1.1 | 47 | BULK-bbe07f00 |
| 22234 | Bulk Product 1765f299 | Toys & Games | $83.30 | 385 | ★ 3.9 | 86 | BULK-efe777e4 |
| 22235 | Bulk Product 3b0fee44 | Clothing | $11.95 | 99 | ★ 1.4 | 79 | BULK-474fc4c2 |
| 22236 | Bulk Product b28171cd | Sports & Outdoors | $237.64 | 393 | ★ 4.6 | 11 | BULK-51722f16 |
| 22237 | Bulk Product cfe6f499 | Electronics | $940.38 | 389 | ★ 0.4 | 14 | BULK-770e22aa |
| 22238 | Bulk Product c4b0aa0e | Electronics | $62.54 | 16 | ★ 1.8 | 63 | BULK-35e7a6bd |
| 22239 | Bulk Product e6e8f77e | Books | $941.00 | 300 | ★ 0.8 | 48 | BULK-6373a499 |
| 22240 | Bulk Product 1e1543a7 | Toys & Games | $312.26 | 158 | ★ 0.4 | 78 | BULK-e2c04a61 |
| 22241 | Bulk Product fd781678 | Electronics | $868.44 | 62 | ★ 1.6 | 55 | BULK-686893cc |
| 22242 | Bulk Product ddbcc9d7 | Toys & Games | $45.71 | 449 | ★ 0.6 | 65 | BULK-f3150e7c |
| 22243 | Bulk Product b1208421 | Clothing | $627.37 | 477 | ★ 1.0 | 67 | BULK-991b5d4f |
| 22244 | Bulk Product a6ec570b | Books | $787.40 | 273 | ★ 2.5 | 24 | BULK-a190b596 |
| 22245 | Bulk Product 87139dd5 | Clothing | $514.94 | 53 | ★ 1.7 | 25 | BULK-34ceab3c |
| 22246 | Bulk Product fab7fbf4 | Home & Garden | $157.64 | 348 | ★ 4.9 | 42 | BULK-d415dea9 |
| 22247 | Bulk Product f81cfe68 | Electronics | $658.08 | 395 | ★ 4.8 | 18 | BULK-f02673a1 |
| 22248 | Bulk Product 6e0a1359 | Toys & Games | $264.30 | 247 | ★ 1.8 | 26 | BULK-8dd84ffc |
| 22249 | Bulk Product 3feba4b4 | Clothing | $279.96 | 278 | ★ 0.8 | 82 | BULK-bd4a5043 |
| 22250 | Bulk Product 52a722b5 | Clothing | $1,000.84 | 161 | ★ 1.8 | 3 | BULK-2c1df815 |
| 22251 | Bulk Product 53c3fcfe | Sports & Outdoors | $437.10 | 477 | ★ 0.6 | 23 | BULK-305f0d5d |
| 22252 | Bulk Product 632a5852 | Home & Garden | $934.23 | 277 | ★ 4.9 | 68 | BULK-fe64ffde |
| 22253 | Bulk Product 83787ee0 | Home & Garden | $248.09 | 436 | ★ 1.0 | 14 | BULK-e921eb68 |
| 22254 | Bulk Product 1048f571 | Sports & Outdoors | $126.44 | 323 | ★ 1.2 | 25 | BULK-bb718965 |
| 22255 | Bulk Product 6dd4a6a2 | Sports & Outdoors | $76.37 | 455 | ★ 1.6 | 65 | BULK-ad7d7896 |
| 22256 | Bulk Product 28782f94 | Toys & Games | $802.97 | 242 | ★ 1.3 | 72 | BULK-2f012ddb |
| 22257 | Bulk Product fae75225 | Sports & Outdoors | $956.17 | 93 | ★ 2.9 | 19 | BULK-f8792116 |
| 22258 | Bulk Product 763ec35e | Home & Garden | $836.03 | 95 | ★ 4.5 | 6 | BULK-37430572 |
| 22259 | Bulk Product def92573 | Electronics | $956.04 | 16 | ★ 1.4 | 52 | BULK-59ed5e50 |
// 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
};
}