Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 14060 | Bulk Product 1cccac6e | Books | $233.24 | 370 | ★ 3.6 | 12 | BULK-3a3768ca |
| 14061 | Bulk Product 625903f5 | Electronics | $83.02 | 154 | ★ 4.1 | 66 | BULK-e13361b5 |
| 14062 | Bulk Product 739cdebd | Clothing | $415.39 | 332 | ★ 1.6 | 28 | BULK-ae07efc8 |
| 14063 | Bulk Product 7f793f9f | Clothing | $822.90 | 164 | ★ 3.2 | 23 | BULK-793a53d0 |
| 14064 | Bulk Product 7e8cf183 | Books | $441.97 | 154 | ★ 0.7 | 0 | BULK-140096b0 |
| 14065 | Bulk Product 9859be66 | Sports & Outdoors | $908.14 | 252 | ★ 2.9 | 72 | BULK-3c9b0bb5 |
| 14066 | Bulk Product 62860022 | Electronics | $650.39 | 278 | ★ 4.5 | 41 | BULK-95c4fe1e |
| 14067 | Bulk Product 84ff406d | Toys & Games | $747.44 | 200 | ★ 4.4 | 9 | BULK-27f298ce |
| 14068 | Bulk Product baeb6bbd | Books | $803.76 | 145 | ★ 2.0 | 90 | BULK-e075bd25 |
| 14069 | Bulk Product bbc91ed9 | Clothing | $664.17 | 154 | ★ 2.4 | 97 | BULK-feda1227 |
| 14070 | Bulk Product 3503f372 | Home & Garden | $429.05 | 65 | ★ 3.9 | 60 | BULK-d0fcb683 |
| 14071 | Bulk Product 685b4c54 | Books | $93.25 | 273 | ★ 3.5 | 17 | BULK-259687a5 |
| 14072 | Bulk Product 8a89a379 | Books | $549.51 | 31 | ★ 4.9 | 21 | BULK-f7d34e72 |
| 14073 | Bulk Product 2fce9231 | Books | $843.96 | 343 | ★ 0.7 | 76 | BULK-c8b8c963 |
| 14074 | Bulk Product 83dbc39b | Electronics | $122.87 | 320 | ★ 1.9 | 90 | BULK-f459af1c |
| 14075 | Bulk Product 63fc384f | Electronics | $349.39 | 471 | ★ 2.6 | 69 | BULK-62903db4 |
| 14076 | Bulk Product 69366e3a | Sports & Outdoors | $602.99 | 142 | ★ 0.1 | 84 | BULK-7471a250 |
| 14077 | Bulk Product d48580e7 | Books | $623.56 | 145 | ★ 3.3 | 20 | BULK-22802b42 |
| 14078 | Bulk Product eaee27ad | Books | $77.66 | 491 | ★ 2.6 | 93 | BULK-ebf90555 |
| 14079 | Bulk Product c07cd6dc | Books | $173.30 | 190 | ★ 1.5 | 30 | BULK-7828c593 |
| 14080 | Bulk Product a387cb85 | Sports & Outdoors | $198.64 | 249 | ★ 1.1 | 32 | BULK-996b6127 |
| 14081 | Bulk Product 4ce499f9 | Electronics | $746.32 | 264 | ★ 3.8 | 61 | BULK-7f7606c2 |
| 14082 | Bulk Product fd28eefd | Electronics | $719.80 | 132 | ★ 1.9 | 20 | BULK-a70e73c3 |
| 14083 | Bulk Product e48c5831 | Home & Garden | $978.36 | 93 | ★ 1.1 | 62 | BULK-58d53a68 |
| 14084 | Bulk Product f4d3db39 | Clothing | $55.79 | 38 | ★ 2.5 | 23 | BULK-c448b127 |
| 14085 | Bulk Product 8afb1593 | Clothing | $645.33 | 413 | ★ 1.1 | 86 | BULK-4459a322 |
| 14086 | Bulk Product 15d9dba4 | Sports & Outdoors | $857.50 | 355 | ★ 3.9 | 36 | BULK-801caa06 |
| 14087 | Bulk Product 0263fd25 | Books | $580.32 | 55 | ★ 3.9 | 88 | BULK-5762be17 |
| 14088 | Bulk Product 766ed5c6 | Home & Garden | $298.67 | 104 | ★ 2.7 | 45 | BULK-99fcecf3 |
| 14089 | Bulk Product 103101ff | Electronics | $423.17 | 332 | ★ 3.4 | 63 | BULK-c01ab177 |
| 14090 | Bulk Product f1dba101 | Clothing | $149.65 | 171 | ★ 1.0 | 35 | BULK-41dc1524 |
| 14091 | Bulk Product 8d145534 | Sports & Outdoors | $110.15 | 233 | ★ 4.9 | 93 | BULK-e8838594 |
| 14092 | Bulk Product f41a1538 | Toys & Games | $398.87 | 286 | ★ 3.2 | 77 | BULK-5e2cb806 |
| 14093 | Bulk Product 7fea3520 | Sports & Outdoors | $851.89 | 65 | ★ 0.6 | 46 | BULK-74540be4 |
| 14094 | Bulk Product 9482a794 | Clothing | $721.27 | 57 | ★ 2.1 | 44 | BULK-5601f8b8 |
| 14095 | Bulk Product 06119eb7 | Clothing | $991.97 | 71 | ★ 0.4 | 30 | BULK-36b3ba7d |
| 14096 | Bulk Product f017be9c | Home & Garden | $788.73 | 77 | ★ 3.7 | 71 | BULK-4d3179df |
| 14097 | Bulk Product e951c96a | Home & Garden | $825.15 | 406 | ★ 4.6 | 59 | BULK-ee32bc99 |
| 14098 | Bulk Product 05dde0cf | Sports & Outdoors | $260.95 | 81 | ★ 3.3 | 30 | BULK-371646f8 |
| 14099 | Bulk Product 7044057e | Toys & Games | $274.68 | 431 | ★ 3.2 | 36 | BULK-66618630 |
| 14100 | Bulk Product 021acd30 | Sports & Outdoors | $253.84 | 431 | ★ 0.5 | 52 | BULK-2bb5e245 |
| 14101 | Bulk Product 2fe7b0a1 | Clothing | $860.33 | 385 | ★ 0.7 | 3 | BULK-2571a335 |
| 14102 | Bulk Product a87e6c8e | Sports & Outdoors | $954.60 | 336 | ★ 1.9 | 16 | BULK-294ce328 |
| 14103 | Bulk Product 3a609261 | Home & Garden | $487.46 | 262 | ★ 4.2 | 37 | BULK-e83a36d2 |
| 14104 | Bulk Product 65d09bdb | Electronics | $358.26 | 227 | ★ 2.2 | 81 | BULK-7cef017e |
| 14105 | Bulk Product 04c3b8b8 | Electronics | $648.51 | 105 | ★ 0.3 | 84 | BULK-a7a7053e |
| 14106 | Bulk Product 78f04e46 | Sports & Outdoors | $350.18 | 216 | ★ 4.4 | 94 | BULK-4a52d7c4 |
| 14107 | Bulk Product d9b595d1 | Toys & Games | $264.77 | 489 | ★ 3.9 | 23 | BULK-29264cda |
| 14108 | Bulk Product 524cbe8d | Home & Garden | $384.44 | 411 | ★ 4.2 | 4 | BULK-38e748e1 |
| 14109 | Bulk Product 65040edc | Toys & Games | $846.27 | 220 | ★ 1.6 | 75 | BULK-57bb0eaf |
// 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
};
}