Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 5110 | Bulk Product e7de9dc8 | Electronics | $733.60 | 185 | ★ 3.0 | 45 | BULK-b2890f54 |
| 5111 | Bulk Product 0c7be32f | Toys & Games | $563.10 | 425 | ★ 3.7 | 8 | BULK-809e4ad2 |
| 5112 | Bulk Product dc64fd76 | Books | $255.20 | 199 | ★ 2.9 | 26 | BULK-47518684 |
| 5113 | Bulk Product 73221d5b | Clothing | $76.80 | 134 | ★ 0.9 | 69 | BULK-6db98f13 |
| 5114 | Bulk Product dea17980 | Electronics | $914.02 | 498 | ★ 0.7 | 7 | BULK-6f6d5b42 |
| 5115 | Bulk Product 8478f85f | Books | $758.21 | 96 | ★ 1.6 | 31 | BULK-40afcd3d |
| 5116 | Bulk Product 7263edc8 | Home & Garden | $482.34 | 441 | ★ 1.4 | 1 | BULK-2062613f |
| 5117 | Bulk Product d0c47148 | Electronics | $636.09 | 354 | ★ 2.5 | 10 | BULK-7da42299 |
| 5118 | Bulk Product 24b6d147 | Books | $754.88 | 70 | ★ 1.5 | 81 | BULK-1ca7b9fa |
| 5119 | Bulk Product 7c7ab969 | Home & Garden | $363.66 | 136 | ★ 4.8 | 80 | BULK-34f3587a |
| 5120 | Bulk Product 2208ed41 | Clothing | $691.91 | 394 | ★ 3.8 | 41 | BULK-ba9b371a |
| 5121 | Bulk Product 710d29a6 | Toys & Games | $842.94 | 182 | ★ 3.9 | 64 | BULK-86789583 |
| 5122 | Bulk Product 85597fec | Sports & Outdoors | $185.28 | 201 | ★ 1.2 | 54 | BULK-024661a9 |
| 5123 | Bulk Product 07ef15d0 | Sports & Outdoors | $53.88 | 108 | ★ 2.7 | 82 | BULK-e79c7ba9 |
| 5124 | Bulk Product e1761ae2 | Home & Garden | $894.89 | 73 | ★ 3.5 | 92 | BULK-67bc6cab |
| 5125 | Bulk Product 8556b7cf | Clothing | $256.57 | 224 | ★ 1.7 | 39 | BULK-6ccb253a |
| 5126 | Bulk Product 2f5c7560 | Sports & Outdoors | $673.69 | 324 | ★ 3.9 | 64 | BULK-c87b7ae6 |
| 5127 | Bulk Product f112660e | Toys & Games | $572.24 | 446 | ★ 0.1 | 13 | BULK-ae392109 |
| 5128 | Bulk Product a30a2598 | Electronics | $224.36 | 430 | ★ 0.4 | 95 | BULK-585f04f4 |
| 5129 | Bulk Product e4bc9ddf | Sports & Outdoors | $728.47 | 105 | ★ 1.7 | 35 | BULK-8a2cd1dd |
| 5130 | Bulk Product c7f7e114 | Books | $485.03 | 283 | ★ 0.1 | 96 | BULK-d912af72 |
| 5131 | Bulk Product 3bdb29a0 | Home & Garden | $729.14 | 438 | ★ 2.9 | 61 | BULK-8b9851e8 |
| 5132 | Bulk Product e579549b | Books | $852.37 | 401 | ★ 2.7 | 72 | BULK-5ef3ad4b |
| 5133 | Bulk Product 9935dd0a | Home & Garden | $399.77 | 378 | ★ 0.5 | 86 | BULK-a1298850 |
| 5134 | Bulk Product 3fa5ca84 | Books | $134.18 | 55 | ★ 4.7 | 61 | BULK-398227ed |
| 5135 | Bulk Product 057a5bd8 | Toys & Games | $484.17 | 390 | ★ 3.4 | 33 | BULK-58d5677b |
| 5136 | Bulk Product 19c72f8c | Clothing | $679.59 | 114 | ★ 3.5 | 43 | BULK-62539efc |
| 5137 | Bulk Product 1cab2e66 | Toys & Games | $1,007.98 | 167 | ★ 3.3 | 32 | BULK-ae4b1535 |
| 5138 | Bulk Product d588f9f1 | Sports & Outdoors | $297.83 | 493 | ★ 4.8 | 10 | BULK-3a304542 |
| 5139 | Bulk Product ea539eb5 | Sports & Outdoors | $845.06 | 50 | ★ 1.7 | 21 | BULK-55659b39 |
| 5140 | Bulk Product 9e82d362 | Toys & Games | $532.23 | 91 | ★ 0.2 | 86 | BULK-c720232d |
| 5141 | Bulk Product 54f8992e | Sports & Outdoors | $453.33 | 82 | ★ 4.7 | 31 | BULK-b7aa815e |
| 5142 | Bulk Product 5e7c45b1 | Home & Garden | $27.70 | 193 | ★ 4.7 | 14 | BULK-04933536 |
| 5143 | Bulk Product 773d36b7 | Toys & Games | $549.89 | 178 | ★ 0.7 | 16 | BULK-1c3252d7 |
| 5144 | Bulk Product e7a4f333 | Books | $341.32 | 297 | ★ 3.6 | 75 | BULK-074ebb40 |
| 5145 | Bulk Product 2028d063 | Electronics | $594.51 | 49 | ★ 1.0 | 12 | BULK-cf59f5aa |
| 5146 | Bulk Product 75c3a52e | Clothing | $381.73 | 379 | ★ 0.5 | 98 | BULK-ad5216bc |
| 5147 | Bulk Product c6d64914 | Home & Garden | $202.49 | 268 | ★ 1.9 | 70 | BULK-647f162c |
| 5148 | Bulk Product ecff3d8d | Books | $751.19 | 366 | ★ 2.9 | 71 | BULK-cc6a0188 |
| 5149 | Bulk Product 7dd79f9f | Toys & Games | $888.75 | 165 | ★ 4.2 | 98 | BULK-2441054d |
| 5150 | Bulk Product bb66492f | Clothing | $788.72 | 96 | ★ 0.9 | 55 | BULK-8dcf493a |
| 5151 | Bulk Product 1068bdcb | Toys & Games | $1,007.19 | 112 | ★ 1.1 | 85 | BULK-bcb897ae |
| 5152 | Bulk Product f7839fda | Electronics | $296.33 | 134 | ★ 2.0 | 27 | BULK-e0adc3fc |
| 5153 | Bulk Product 673c135e | Home & Garden | $85.30 | 245 | ★ 0.1 | 79 | BULK-f48c4e74 |
| 5154 | Bulk Product 99b0bb30 | Sports & Outdoors | $483.51 | 168 | ★ 0.5 | 31 | BULK-d85a2f5a |
| 5155 | Bulk Product ec27ff8d | Electronics | $897.73 | 352 | ★ 1.3 | 36 | BULK-6d065fc5 |
| 5156 | Bulk Product 3734eca1 | Toys & Games | $387.05 | 126 | ★ 4.9 | 9 | BULK-5a0f222b |
| 5157 | Bulk Product 5286e963 | Clothing | $628.25 | 327 | ★ 2.1 | 2 | BULK-214257db |
| 5158 | Bulk Product 164cd9b4 | Sports & Outdoors | $392.96 | 60 | ★ 5.0 | 60 | BULK-ef942b4a |
| 5159 | Bulk Product 09b9e86c | Electronics | $286.29 | 433 | ★ 3.3 | 45 | BULK-7f4ef970 |
// 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
};
}