Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 23210 | Bulk Product 918dfcf2 | Electronics | $165.71 | 82 | ★ 2.2 | 22 | BULK-43232415 |
| 23211 | Bulk Product 0522083f | Toys & Games | $859.31 | 457 | ★ 0.8 | 33 | BULK-a1c19690 |
| 23212 | Bulk Product 17a4ff96 | Clothing | $770.93 | 499 | ★ 1.3 | 12 | BULK-095df6d7 |
| 23213 | Bulk Product 20a30d0a | Books | $634.86 | 237 | ★ 1.6 | 6 | BULK-b466b077 |
| 23214 | Bulk Product a497615b | Electronics | $331.08 | 445 | ★ 0.9 | 22 | BULK-b4f75dee |
| 23215 | Bulk Product f918dae7 | Clothing | $318.30 | 338 | ★ 3.9 | 23 | BULK-0039f6d1 |
| 23216 | Bulk Product d43aae18 | Sports & Outdoors | $485.50 | 406 | ★ 2.5 | 21 | BULK-b70fc526 |
| 23217 | Bulk Product 492de078 | Books | $970.17 | 178 | ★ 4.4 | 69 | BULK-876d30c7 |
| 23218 | Bulk Product d79d1a70 | Electronics | $494.71 | 63 | ★ 4.4 | 59 | BULK-44a948f5 |
| 23219 | Bulk Product 564696de | Books | $924.27 | 125 | ★ 2.0 | 14 | BULK-8f64e4cd |
| 23220 | Bulk Product 990c3187 | Home & Garden | $637.42 | 28 | ★ 2.9 | 93 | BULK-456c6174 |
| 23221 | Bulk Product 899fb301 | Electronics | $702.31 | 355 | ★ 0.1 | 50 | BULK-a52d7c3f |
| 23222 | Bulk Product 9c1ea059 | Home & Garden | $370.43 | 126 | ★ 2.8 | 79 | BULK-b932ab19 |
| 23223 | Bulk Product 7e40cdac | Electronics | $809.24 | 181 | ★ 4.3 | 6 | BULK-d53c338c |
| 23224 | Bulk Product 13870f9c | Sports & Outdoors | $158.91 | 404 | ★ 2.7 | 35 | BULK-fe8b21e1 |
| 23225 | Bulk Product 718f9bb1 | Books | $27.92 | 331 | ★ 4.4 | 82 | BULK-0d71c964 |
| 23226 | Bulk Product 5797c4ae | Books | $376.73 | 109 | ★ 4.9 | 15 | BULK-cc33f568 |
| 23227 | Bulk Product bb090415 | Home & Garden | $702.68 | 265 | ★ 3.3 | 66 | BULK-d3d696d7 |
| 23228 | Bulk Product 5ec19975 | Books | $457.56 | 319 | ★ 3.4 | 34 | BULK-6f0bc1d5 |
| 23229 | Bulk Product bc1869e6 | Toys & Games | $557.63 | 412 | ★ 2.1 | 55 | BULK-1506e5e5 |
| 23230 | Bulk Product 4df9b2f1 | Sports & Outdoors | $803.12 | 448 | ★ 5.0 | 9 | BULK-5c1b7fc9 |
| 23231 | Bulk Product 2e637965 | Toys & Games | $801.07 | 325 | ★ 1.0 | 33 | BULK-1ded8893 |
| 23232 | Bulk Product 07d6a44b | Books | $715.21 | 475 | ★ 2.9 | 76 | BULK-0e2291ac |
| 23233 | Bulk Product 78d54a75 | Home & Garden | $507.88 | 42 | ★ 4.8 | 85 | BULK-f9c97547 |
| 23234 | Bulk Product 7305f7d5 | Clothing | $861.45 | 443 | ★ 4.2 | 54 | BULK-411a7f52 |
| 23235 | Bulk Product 332f0611 | Sports & Outdoors | $229.20 | 23 | ★ 2.5 | 47 | BULK-107af8e3 |
| 23236 | Bulk Product 411317cb | Toys & Games | $584.70 | 214 | ★ 4.8 | 57 | BULK-28b2b758 |
| 23237 | Bulk Product 3f9a2df4 | Electronics | $797.48 | 68 | ★ 4.0 | 17 | BULK-8bb7223c |
| 23238 | Bulk Product 3f585024 | Home & Garden | $350.23 | 387 | ★ 3.3 | 76 | BULK-0697cf04 |
| 23239 | Bulk Product 3b72d7b0 | Books | $389.44 | 285 | ★ 3.0 | 69 | BULK-e32715f1 |
| 23240 | Bulk Product b927e538 | Home & Garden | $837.14 | 129 | ★ 3.5 | 61 | BULK-7ada7300 |
| 23241 | Bulk Product 2562a2f6 | Toys & Games | $135.50 | 351 | ★ 2.3 | 70 | BULK-f6151e99 |
| 23242 | Bulk Product 0123d834 | Sports & Outdoors | $627.09 | 499 | ★ 0.5 | 86 | BULK-bed57a1b |
| 23243 | Bulk Product 5adba57a | Clothing | $595.31 | 58 | ★ 2.7 | 21 | BULK-b3b053b4 |
| 23244 | Bulk Product 52b740a0 | Toys & Games | $499.56 | 350 | ★ 4.2 | 55 | BULK-b03b107a |
| 23245 | Bulk Product bb1f6671 | Books | $367.91 | 457 | ★ 4.5 | 81 | BULK-c21a5ef6 |
| 23246 | Bulk Product 3e1fe62c | Books | $181.19 | 248 | ★ 2.3 | 22 | BULK-38702fb9 |
| 23247 | Bulk Product d19ee2f5 | Clothing | $79.49 | 464 | ★ 2.3 | 24 | BULK-c76442e2 |
| 23248 | Bulk Product 20fa07c4 | Home & Garden | $795.31 | 140 | ★ 3.6 | 91 | BULK-3944aa46 |
| 23249 | Bulk Product 51dc8b5f | Books | $624.46 | 68 | ★ 2.7 | 10 | BULK-48cce0ff |
| 23250 | Bulk Product db25ce35 | Books | $904.16 | 74 | ★ 0.2 | 13 | BULK-917cee14 |
| 23251 | Bulk Product 8a513d3e | Sports & Outdoors | $671.58 | 373 | ★ 2.0 | 0 | BULK-2d00689a |
| 23252 | Bulk Product 53de16da | Electronics | $101.30 | 68 | ★ 1.8 | 94 | BULK-101f9795 |
| 23253 | Bulk Product 97c2f9bb | Clothing | $367.69 | 441 | ★ 0.7 | 98 | BULK-c49f65aa |
| 23254 | Bulk Product b79a53a4 | Toys & Games | $384.44 | 95 | ★ 0.2 | 75 | BULK-f73aa477 |
| 23255 | Bulk Product 66a800dd | Clothing | $651.10 | 372 | ★ 3.7 | 82 | BULK-12edf2f7 |
| 23256 | Bulk Product d7f357d3 | Electronics | $340.75 | 83 | ★ 4.9 | 21 | BULK-0bb82f99 |
| 23257 | Bulk Product 285db5a6 | Home & Garden | $817.92 | 285 | ★ 0.7 | 31 | BULK-fbee9bda |
| 23258 | Bulk Product 479b7c52 | Electronics | $578.53 | 239 | ★ 4.7 | 41 | BULK-02456587 |
| 23259 | Bulk Product 4825325f | Sports & Outdoors | $988.34 | 326 | ★ 1.0 | 58 | BULK-a1cbba10 |
// 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
};
}