Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 5160 | Bulk Product 726f7d7f | Books | $570.85 | 349 | ★ 0.4 | 55 | BULK-06f772a7 |
| 5161 | Bulk Product 7028cc1d | Home & Garden | $660.14 | 163 | ★ 1.7 | 14 | BULK-c8f8b045 |
| 5162 | Bulk Product 014564c5 | Toys & Games | $728.97 | 460 | ★ 2.3 | 10 | BULK-17df2f6c |
| 5163 | Bulk Product 38ba0d13 | Toys & Games | $899.06 | 330 | ★ 2.8 | 25 | BULK-93e2f758 |
| 5164 | Bulk Product ba6e2b64 | Books | $51.02 | 42 | ★ 1.9 | 72 | BULK-dc4c3135 |
| 5165 | Bulk Product b6e85dc6 | Toys & Games | $192.04 | 9 | ★ 2.4 | 24 | BULK-a45ee760 |
| 5166 | Bulk Product 9368c9eb | Books | $676.14 | 382 | ★ 2.0 | 89 | BULK-3490cc01 |
| 5167 | Bulk Product 5e753e06 | Books | $846.69 | 185 | ★ 0.6 | 5 | BULK-7339dd07 |
| 5168 | Bulk Product c4bf4ea6 | Toys & Games | $467.13 | 486 | ★ 4.0 | 65 | BULK-1ef43859 |
| 5169 | Bulk Product cc2a2bd1 | Home & Garden | $329.49 | 50 | ★ 1.1 | 73 | BULK-5b4caccf |
| 5170 | Bulk Product a7db2dd4 | Home & Garden | $482.11 | 7 | ★ 1.2 | 52 | BULK-bc7fea30 |
| 5171 | Bulk Product a5b91ef4 | Sports & Outdoors | $819.34 | 268 | ★ 3.1 | 9 | BULK-74c006d7 |
| 5172 | Bulk Product 034f4924 | Sports & Outdoors | $573.24 | 378 | ★ 1.7 | 99 | BULK-29bc363f |
| 5173 | Bulk Product 0ac4539c | Toys & Games | $127.41 | 28 | ★ 4.9 | 50 | BULK-38afaa56 |
| 5174 | Bulk Product f6344b05 | Clothing | $915.87 | 126 | ★ 4.8 | 92 | BULK-82b03bf5 |
| 5175 | Bulk Product eeb1bd19 | Toys & Games | $619.13 | 495 | ★ 0.3 | 44 | BULK-0401c69a |
| 5176 | Bulk Product f4eb439f | Sports & Outdoors | $763.76 | 270 | ★ 3.8 | 91 | BULK-10de36e7 |
| 5177 | Bulk Product 098e365e | Home & Garden | $409.61 | 327 | ★ 1.2 | 81 | BULK-6b978933 |
| 5178 | Bulk Product 7d332311 | Toys & Games | $487.08 | 291 | ★ 4.9 | 24 | BULK-9cc246af |
| 5179 | Bulk Product 116c5eaa | Toys & Games | $126.35 | 454 | ★ 2.4 | 52 | BULK-d77462ca |
| 5180 | Bulk Product 460a765e | Home & Garden | $435.11 | 413 | ★ 1.2 | 38 | BULK-7583844d |
| 5181 | Bulk Product 4e2d072d | Electronics | $303.43 | 317 | ★ 5.0 | 27 | BULK-20205a4f |
| 5182 | Bulk Product 33ab8022 | Clothing | $512.58 | 358 | ★ 3.5 | 59 | BULK-fb12f962 |
| 5183 | Bulk Product 37218f42 | Toys & Games | $515.48 | 388 | ★ 4.3 | 1 | BULK-b9eb3ac2 |
| 5184 | Bulk Product 5caebb57 | Books | $471.47 | 413 | ★ 4.0 | 82 | BULK-c9e12bb7 |
| 5185 | Bulk Product 6b9f3475 | Toys & Games | $206.61 | 343 | ★ 3.7 | 90 | BULK-fcfc203b |
| 5186 | Bulk Product affdc1fe | Clothing | $372.85 | 97 | ★ 3.4 | 64 | BULK-3de6becf |
| 5187 | Bulk Product 7c9cacb4 | Electronics | $700.45 | 130 | ★ 1.2 | 11 | BULK-c935f67d |
| 5188 | Bulk Product e9ad6830 | Books | $715.14 | 26 | ★ 1.3 | 52 | BULK-dec9ea81 |
| 5189 | Bulk Product 6b086d6d | Toys & Games | $823.92 | 192 | ★ 3.4 | 4 | BULK-42f6549e |
| 5190 | Bulk Product 309876a5 | Home & Garden | $893.65 | 303 | ★ 2.3 | 96 | BULK-f346ed6a |
| 5191 | Bulk Product bc151280 | Sports & Outdoors | $501.33 | 29 | ★ 4.8 | 60 | BULK-e477bae4 |
| 5192 | Bulk Product 648a049d | Home & Garden | $916.20 | 371 | ★ 2.8 | 33 | BULK-038cbbd0 |
| 5193 | Bulk Product 201a16f5 | Clothing | $155.83 | 306 | ★ 3.8 | 73 | BULK-8e0923ae |
| 5194 | Bulk Product fbb4eea4 | Toys & Games | $922.29 | 313 | ★ 4.5 | 94 | BULK-cae3af8c |
| 5195 | Bulk Product 3b36ee2f | Clothing | $864.43 | 410 | ★ 2.6 | 35 | BULK-0075c680 |
| 5196 | Bulk Product 4295e2d1 | Home & Garden | $265.20 | 76 | ★ 4.6 | 17 | BULK-fd47a22d |
| 5197 | Bulk Product 400e0e58 | Books | $802.35 | 371 | ★ 1.7 | 90 | BULK-f344b911 |
| 5198 | Bulk Product f94fa08b | Clothing | $296.10 | 353 | ★ 0.6 | 5 | BULK-b7a81b25 |
| 5199 | Bulk Product e5633f9f | Books | $940.77 | 365 | ★ 1.9 | 81 | BULK-aaefd73b |
| 5200 | Bulk Product f7bec455 | Home & Garden | $646.60 | 265 | ★ 4.6 | 80 | BULK-40d4d1ab |
| 5201 | Bulk Product 11c63fca | Clothing | $236.39 | 446 | ★ 1.0 | 47 | BULK-227c0c12 |
| 5202 | Bulk Product 081a3d67 | Home & Garden | $308.04 | 245 | ★ 2.9 | 26 | BULK-48954389 |
| 5203 | Bulk Product 52b3f743 | Toys & Games | $784.38 | 97 | ★ 2.9 | 48 | BULK-4e428242 |
| 5204 | Bulk Product d6b21228 | Electronics | $740.75 | 234 | ★ 0.0 | 73 | BULK-14f99cfc |
| 5205 | Bulk Product ccc12c96 | Electronics | $446.45 | 380 | ★ 3.8 | 93 | BULK-aca92b78 |
| 5206 | Bulk Product 2b10e64e | Home & Garden | $28.89 | 122 | ★ 0.6 | 91 | BULK-f39c222f |
| 5207 | Bulk Product 11e7ae36 | Electronics | $207.72 | 309 | ★ 1.3 | 0 | BULK-3992b957 |
| 5208 | Bulk Product c151f5de | Toys & Games | $612.69 | 449 | ★ 0.6 | 95 | BULK-8aa4c339 |
| 5209 | Bulk Product de91bc97 | Toys & Games | $795.05 | 94 | ★ 2.1 | 30 | BULK-42264533 |
// 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
};
}