Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 10910 | Bulk Product fee8e4ff | Electronics | $492.45 | 74 | ★ 4.0 | 19 | BULK-4c8df7c6 |
| 10911 | Bulk Product 4eef1537 | Home & Garden | $359.32 | 265 | ★ 3.0 | 0 | BULK-abfb8102 |
| 10912 | Bulk Product 5da5c27d | Home & Garden | $694.20 | 350 | ★ 3.1 | 20 | BULK-c7003cba |
| 10913 | Bulk Product 23aed50c | Electronics | $33.82 | 315 | ★ 4.9 | 46 | BULK-6b83edd2 |
| 10914 | Bulk Product 978cfdef | Toys & Games | $659.59 | 50 | ★ 4.3 | 50 | BULK-3b369bf9 |
| 10915 | Bulk Product 38ca3f4b | Electronics | $1,002.19 | 83 | ★ 3.2 | 49 | BULK-d4bea6c8 |
| 10916 | Bulk Product 9aed1d0d | Electronics | $356.49 | 440 | ★ 1.3 | 15 | BULK-65978280 |
| 10917 | Bulk Product c23e34bc | Toys & Games | $75.85 | 167 | ★ 0.5 | 60 | BULK-fab30c16 |
| 10918 | Bulk Product 88452c59 | Books | $394.36 | 10 | ★ 2.9 | 34 | BULK-5b9bca1a |
| 10919 | Bulk Product 862c422e | Toys & Games | $236.53 | 80 | ★ 4.4 | 89 | BULK-1c9349d6 |
| 10920 | Bulk Product 722e4877 | Toys & Games | $889.93 | 140 | ★ 1.0 | 16 | BULK-c56f937e |
| 10921 | Bulk Product 4372ebf4 | Toys & Games | $633.99 | 386 | ★ 3.4 | 30 | BULK-27c00995 |
| 10922 | Bulk Product cdfb4f8a | Books | $932.93 | 451 | ★ 0.7 | 81 | BULK-7a764fc7 |
| 10923 | Bulk Product 51ee7ede | Sports & Outdoors | $866.59 | 377 | ★ 2.0 | 14 | BULK-244d753c |
| 10924 | Bulk Product 2af12772 | Books | $507.97 | 18 | ★ 4.4 | 89 | BULK-0087bdc5 |
| 10925 | Bulk Product 4c7fd038 | Sports & Outdoors | $75.25 | 42 | ★ 2.3 | 97 | BULK-5839c794 |
| 10926 | Bulk Product 806255dd | Sports & Outdoors | $652.00 | 326 | ★ 3.5 | 3 | BULK-90e07efe |
| 10927 | Bulk Product bbfd8b47 | Home & Garden | $501.30 | 204 | ★ 3.0 | 63 | BULK-d19b63e3 |
| 10928 | Bulk Product 8926910b | Sports & Outdoors | $331.82 | 301 | ★ 0.6 | 9 | BULK-73d67a99 |
| 10929 | Bulk Product aee31c86 | Toys & Games | $178.57 | 449 | ★ 2.8 | 31 | BULK-64f6405d |
| 10930 | Bulk Product fadada1b | Books | $642.87 | 185 | ★ 1.4 | 82 | BULK-7425e4ec |
| 10931 | Bulk Product 5c1a7ed8 | Clothing | $524.89 | 362 | ★ 3.1 | 6 | BULK-981edbae |
| 10932 | Bulk Product b8ed421c | Electronics | $799.11 | 78 | ★ 4.7 | 48 | BULK-c4285a2e |
| 10933 | Bulk Product a1b43207 | Home & Garden | $604.42 | 38 | ★ 4.1 | 64 | BULK-1ce45a65 |
| 10934 | Bulk Product b740f57a | Toys & Games | $967.29 | 294 | ★ 4.1 | 47 | BULK-8b80499a |
| 10935 | Bulk Product aa7db9eb | Sports & Outdoors | $936.45 | 416 | ★ 0.9 | 93 | BULK-edf748f5 |
| 10936 | Bulk Product 09a11f8a | Home & Garden | $292.61 | 342 | ★ 0.1 | 65 | BULK-37ad93ab |
| 10937 | Bulk Product 2c64533e | Clothing | $419.41 | 83 | ★ 3.6 | 85 | BULK-3308badf |
| 10938 | Bulk Product 854a48e1 | Books | $496.19 | 327 | ★ 2.4 | 44 | BULK-062d3465 |
| 10939 | Bulk Product 93c25003 | Home & Garden | $801.37 | 295 | ★ 4.5 | 27 | BULK-b3194b15 |
| 10940 | Bulk Product 5c3e2c37 | Books | $604.08 | 216 | ★ 4.9 | 56 | BULK-a7985e9c |
| 10941 | Bulk Product 9c9b2674 | Home & Garden | $535.75 | 297 | ★ 1.1 | 36 | BULK-a2522b64 |
| 10942 | Bulk Product 18c64b37 | Electronics | $792.00 | 143 | ★ 4.1 | 77 | BULK-b9998cd0 |
| 10943 | Bulk Product 8c8db427 | Clothing | $712.84 | 66 | ★ 1.7 | 98 | BULK-a957fa44 |
| 10944 | Bulk Product c7b4b25e | Electronics | $899.87 | 105 | ★ 0.9 | 42 | BULK-517dd98e |
| 10945 | Bulk Product 9a3f4972 | Sports & Outdoors | $998.35 | 325 | ★ 4.2 | 94 | BULK-cfc0df57 |
| 10946 | Bulk Product b6f5ca6f | Books | $33.44 | 131 | ★ 0.6 | 60 | BULK-7fe427cd |
| 10947 | Bulk Product c0dd2008 | Toys & Games | $355.85 | 9 | ★ 1.0 | 72 | BULK-c7c26903 |
| 10948 | Bulk Product 48e28ad5 | Clothing | $574.08 | 162 | ★ 1.1 | 20 | BULK-08cc52b9 |
| 10949 | Bulk Product f0122027 | Books | $810.71 | 418 | ★ 0.6 | 66 | BULK-cf4e6a36 |
| 10950 | Bulk Product 5ad79eb4 | Books | $523.05 | 70 | ★ 1.0 | 80 | BULK-ec2e751f |
| 10951 | Bulk Product 2bf3a3ef | Home & Garden | $235.68 | 165 | ★ 4.8 | 28 | BULK-3726da55 |
| 10952 | Bulk Product 6c6f14d5 | Electronics | $751.04 | 201 | ★ 1.0 | 55 | BULK-b07c9526 |
| 10953 | Bulk Product 8aae5334 | Electronics | $713.26 | 36 | ★ 0.5 | 25 | BULK-cf88e76d |
| 10954 | Bulk Product c47d0050 | Sports & Outdoors | $165.42 | 188 | ★ 1.8 | 9 | BULK-5c9cafbe |
| 10955 | Bulk Product 749785b5 | Clothing | $392.89 | 20 | ★ 1.9 | 58 | BULK-2010c586 |
| 10956 | Bulk Product 6c809abf | Books | $556.62 | 271 | ★ 4.8 | 83 | BULK-43e5b8ac |
| 10957 | Bulk Product 351f92a3 | Sports & Outdoors | $567.77 | 108 | ★ 0.7 | 56 | BULK-bcc300b8 |
| 10958 | Bulk Product 722d3ea9 | Books | $268.80 | 256 | ★ 0.4 | 6 | BULK-67f0df60 |
| 10959 | Bulk Product 159734ba | Home & Garden | $501.61 | 427 | ★ 1.4 | 20 | BULK-afe0543e |
// 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
};
}