Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 21160 | Bulk Product f31937e3 | Books | $721.38 | 239 | ★ 3.9 | 20 | BULK-1df5c85d |
| 21161 | Bulk Product 6c8d4f45 | Sports & Outdoors | $133.37 | 396 | ★ 0.3 | 45 | BULK-b128b065 |
| 21162 | Bulk Product 89b08153 | Electronics | $752.61 | 488 | ★ 2.6 | 37 | BULK-e0b8271e |
| 21163 | Bulk Product 5806fea3 | Home & Garden | $40.86 | 91 | ★ 2.4 | 41 | BULK-eb101144 |
| 21164 | Bulk Product 0e1d8ddb | Clothing | $655.26 | 251 | ★ 2.6 | 14 | BULK-b85b4ff6 |
| 21165 | Bulk Product 3c96ea2b | Clothing | $457.16 | 290 | ★ 4.8 | 10 | BULK-60e818da |
| 21166 | Bulk Product 95d980fe | Electronics | $41.92 | 111 | ★ 2.2 | 86 | BULK-667ccb40 |
| 21167 | Bulk Product d2a2950e | Electronics | $24.70 | 128 | ★ 2.2 | 96 | BULK-500ad7db |
| 21168 | Bulk Product cef435b2 | Toys & Games | $110.89 | 187 | ★ 4.4 | 99 | BULK-d228d40c |
| 21169 | Bulk Product 89b4ed5e | Electronics | $85.60 | 116 | ★ 3.0 | 74 | BULK-5acc1b61 |
| 21170 | Bulk Product faa7479b | Clothing | $12.65 | 279 | ★ 2.1 | 51 | BULK-a5930b0b |
| 21171 | Bulk Product e5138bee | Clothing | $336.98 | 103 | ★ 1.3 | 22 | BULK-40feb712 |
| 21172 | Bulk Product d888fb69 | Clothing | $315.45 | 44 | ★ 2.0 | 59 | BULK-461dde96 |
| 21173 | Bulk Product f30d1164 | Books | $565.47 | 255 | ★ 3.5 | 62 | BULK-629bc434 |
| 21174 | Bulk Product a91fd9c5 | Sports & Outdoors | $954.03 | 326 | ★ 3.5 | 97 | BULK-eef0c8b3 |
| 21175 | Bulk Product 01b5dd34 | Home & Garden | $554.41 | 261 | ★ 4.5 | 50 | BULK-6d52a72d |
| 21176 | Bulk Product 7e3c366e | Electronics | $498.01 | 424 | ★ 2.8 | 7 | BULK-7b0123c3 |
| 21177 | Bulk Product 47ac3f9f | Books | $600.76 | 152 | ★ 2.5 | 29 | BULK-1ac2c85c |
| 21178 | Bulk Product 226a90e8 | Toys & Games | $539.09 | 365 | ★ 0.4 | 88 | BULK-48e2c88e |
| 21179 | Bulk Product f4c6d3d2 | Books | $630.20 | 323 | ★ 0.4 | 72 | BULK-90eb2fb8 |
| 21180 | Bulk Product f6ad4a70 | Toys & Games | $634.46 | 60 | ★ 2.6 | 72 | BULK-d144ab9b |
| 21181 | Bulk Product dcd17a26 | Toys & Games | $349.33 | 403 | ★ 2.4 | 38 | BULK-d1c3fded |
| 21182 | Bulk Product 5ba78074 | Books | $113.78 | 184 | ★ 1.6 | 94 | BULK-c71e7bfd |
| 21183 | Bulk Product d4b4f90c | Electronics | $749.94 | 325 | ★ 3.1 | 87 | BULK-ed9578a3 |
| 21184 | Bulk Product e66465ec | Electronics | $827.61 | 118 | ★ 3.9 | 31 | BULK-4f084fad |
| 21185 | Bulk Product db0afeea | Toys & Games | $623.40 | 334 | ★ 0.5 | 68 | BULK-9846ddea |
| 21186 | Bulk Product b7fbfdf9 | Electronics | $510.59 | 142 | ★ 1.1 | 43 | BULK-e2c883fa |
| 21187 | Bulk Product 17fc2805 | Sports & Outdoors | $1,004.17 | 314 | ★ 4.4 | 52 | BULK-3199eb46 |
| 21188 | Bulk Product 60b5e217 | Sports & Outdoors | $182.23 | 385 | ★ 3.2 | 79 | BULK-3d793bad |
| 21189 | Bulk Product 273c7ff3 | Home & Garden | $105.18 | 379 | ★ 1.4 | 5 | BULK-c28f2018 |
| 21190 | Bulk Product 20a02cd4 | Books | $730.85 | 420 | ★ 2.2 | 34 | BULK-260ef3a1 |
| 21191 | Bulk Product 4692a802 | Clothing | $179.88 | 318 | ★ 4.4 | 69 | BULK-839a292f |
| 21192 | Bulk Product a72e4212 | Electronics | $628.43 | 51 | ★ 1.7 | 58 | BULK-8d89fa8c |
| 21193 | Bulk Product 73349663 | Clothing | $289.06 | 263 | ★ 0.3 | 10 | BULK-c34da662 |
| 21194 | Bulk Product 9638dc75 | Sports & Outdoors | $654.84 | 326 | ★ 4.6 | 68 | BULK-fddfb91b |
| 21195 | Bulk Product 020e1bdf | Toys & Games | $53.49 | 335 | ★ 4.8 | 47 | BULK-3f25686c |
| 21196 | Bulk Product 9a76e29a | Clothing | $299.36 | 230 | ★ 4.8 | 88 | BULK-39da69b6 |
| 21197 | Bulk Product 23c1d182 | Toys & Games | $414.33 | 368 | ★ 0.1 | 19 | BULK-266fff2d |
| 21198 | Bulk Product d6cbbdd6 | Home & Garden | $358.21 | 85 | ★ 1.6 | 87 | BULK-ebc50254 |
| 21199 | Bulk Product 0cb01e99 | Sports & Outdoors | $62.56 | 445 | ★ 4.2 | 84 | BULK-d15d6ff8 |
| 21200 | Bulk Product d9c992c5 | Toys & Games | $727.19 | 45 | ★ 1.9 | 7 | BULK-02e9e5e8 |
| 21201 | Bulk Product 308bfc41 | Home & Garden | $118.48 | 345 | ★ 0.2 | 14 | BULK-8b2b52e3 |
| 21202 | Bulk Product 31b77b6d | Clothing | $416.06 | 289 | ★ 1.7 | 4 | BULK-699a86e3 |
| 21203 | Bulk Product 9872eb70 | Home & Garden | $523.54 | 122 | ★ 1.9 | 30 | BULK-10b388d7 |
| 21204 | Bulk Product 9c726d65 | Sports & Outdoors | $587.40 | 266 | ★ 4.1 | 98 | BULK-6d6ffb68 |
| 21205 | Bulk Product 5d1f806f | Sports & Outdoors | $791.70 | 133 | ★ 3.6 | 94 | BULK-75b9693b |
| 21206 | Bulk Product 00d7b1a4 | Home & Garden | $432.69 | 255 | ★ 3.4 | 31 | BULK-2e7c545d |
| 21207 | Bulk Product e8fa0e2d | Clothing | $910.68 | 220 | ★ 4.2 | 71 | BULK-f7fc584b |
| 21208 | Bulk Product 0c5a6779 | Toys & Games | $895.92 | 11 | ★ 0.3 | 22 | BULK-bffe87da |
| 21209 | Bulk Product 4dc64f80 | Electronics | $174.98 | 60 | ★ 3.8 | 30 | BULK-48e3126c |
// 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
};
}