Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 20010 | Bulk Product 59b45cf6 | Books | $406.73 | 146 | ★ 1.2 | 80 | BULK-4e83a779 |
| 20011 | Bulk Product 32a93b7f | Electronics | $641.67 | 201 | ★ 3.3 | 99 | BULK-bbfd60eb |
| 20012 | Bulk Product c0e309e1 | Books | $860.58 | 365 | ★ 2.3 | 97 | BULK-3bafdf7b |
| 20013 | Bulk Product f0b04f70 | Toys & Games | $510.37 | 172 | ★ 1.0 | 55 | BULK-ad70b551 |
| 20014 | Bulk Product 64d6f772 | Sports & Outdoors | $215.08 | 321 | ★ 4.0 | 89 | BULK-8f39ac87 |
| 20015 | Bulk Product ba49152d | Toys & Games | $251.58 | 38 | ★ 1.7 | 0 | BULK-ab3f98b5 |
| 20016 | Bulk Product 30e88ba3 | Toys & Games | $803.93 | 37 | ★ 3.7 | 73 | BULK-bdc89d0b |
| 20017 | Bulk Product f8632bff | Sports & Outdoors | $901.27 | 372 | ★ 4.0 | 33 | BULK-023448d3 |
| 20018 | Bulk Product edb54000 | Home & Garden | $891.94 | 465 | ★ 1.2 | 62 | BULK-21d4d383 |
| 20019 | Bulk Product 706472a2 | Sports & Outdoors | $946.49 | 275 | ★ 4.1 | 64 | BULK-d4f39e46 |
| 20020 | Bulk Product f05b5e89 | Toys & Games | $295.20 | 105 | ★ 4.9 | 51 | BULK-1c3c37a3 |
| 20021 | Bulk Product 16292e23 | Electronics | $348.15 | 377 | ★ 1.3 | 38 | BULK-d8f46b9d |
| 20022 | Bulk Product 21a8e327 | Sports & Outdoors | $567.37 | 25 | ★ 0.4 | 52 | BULK-2a695a96 |
| 20023 | Bulk Product 64f4a844 | Home & Garden | $475.08 | 253 | ★ 0.5 | 95 | BULK-ddf2e7b7 |
| 20024 | Bulk Product e896dcf7 | Books | $193.78 | 499 | ★ 2.8 | 86 | BULK-e0d0bf17 |
| 20025 | Bulk Product b644b044 | Toys & Games | $40.68 | 130 | ★ 1.6 | 16 | BULK-b76d6c6a |
| 20026 | Bulk Product 005e6b03 | Electronics | $924.06 | 36 | ★ 0.3 | 30 | BULK-b55767d3 |
| 20027 | Bulk Product 7f367388 | Electronics | $334.44 | 388 | ★ 3.8 | 37 | BULK-7e70d31d |
| 20028 | Bulk Product c2d1db40 | Toys & Games | $673.59 | 405 | ★ 2.2 | 15 | BULK-ea99e69a |
| 20029 | Bulk Product 40623046 | Toys & Games | $278.55 | 261 | ★ 3.4 | 90 | BULK-2cbb0dc7 |
| 20030 | Bulk Product 1c21b3c3 | Toys & Games | $447.27 | 465 | ★ 1.1 | 18 | BULK-e71c816d |
| 20031 | Bulk Product 9a100e55 | Electronics | $260.30 | 358 | ★ 0.8 | 1 | BULK-87430b2c |
| 20032 | Bulk Product 5efe76d6 | Electronics | $628.62 | 196 | ★ 0.2 | 16 | BULK-1f3a5a11 |
| 20033 | Bulk Product ef183c66 | Home & Garden | $647.04 | 363 | ★ 0.0 | 76 | BULK-8484bd27 |
| 20034 | Bulk Product 5ed2e578 | Books | $636.95 | 349 | ★ 4.2 | 91 | BULK-901c279c |
| 20035 | Bulk Product 722e2f95 | Toys & Games | $920.60 | 330 | ★ 0.3 | 25 | BULK-e331df57 |
| 20036 | Bulk Product 9da9c63f | Electronics | $299.01 | 287 | ★ 3.5 | 34 | BULK-337dd949 |
| 20037 | Bulk Product 3a4d742f | Electronics | $382.55 | 415 | ★ 0.8 | 80 | BULK-13fb0c8f |
| 20038 | Bulk Product 62a933fe | Electronics | $336.75 | 424 | ★ 3.3 | 2 | BULK-8557afb3 |
| 20039 | Bulk Product 1921e507 | Sports & Outdoors | $232.61 | 281 | ★ 0.3 | 39 | BULK-54bb6cb7 |
| 20040 | Bulk Product d48d6ecb | Electronics | $412.17 | 410 | ★ 0.1 | 63 | BULK-86b21721 |
| 20041 | Bulk Product 3f83d58a | Home & Garden | $696.03 | 97 | ★ 3.8 | 61 | BULK-17e1696c |
| 20042 | Bulk Product ff066bf2 | Books | $552.02 | 264 | ★ 3.9 | 28 | BULK-fc202e84 |
| 20043 | Bulk Product d5401ecb | Home & Garden | $263.93 | 394 | ★ 0.1 | 35 | BULK-59818242 |
| 20044 | Bulk Product c71c3cb3 | Books | $131.44 | 412 | ★ 3.5 | 24 | BULK-22b16299 |
| 20045 | Bulk Product c3eda44e | Home & Garden | $774.88 | 480 | ★ 3.8 | 96 | BULK-c3a21242 |
| 20046 | Bulk Product 98a9ad7e | Home & Garden | $967.99 | 346 | ★ 2.3 | 40 | BULK-fb62ec5e |
| 20047 | Bulk Product c014d2e2 | Electronics | $966.42 | 24 | ★ 1.0 | 31 | BULK-b1b944a6 |
| 20048 | Bulk Product c7ebabcc | Sports & Outdoors | $455.12 | 11 | ★ 2.3 | 63 | BULK-eb9b76dd |
| 20049 | Bulk Product 54a8be82 | Clothing | $834.04 | 243 | ★ 3.2 | 19 | BULK-92572ca1 |
| 20050 | Bulk Product e3577941 | Home & Garden | $13.09 | 399 | ★ 3.8 | 71 | BULK-d7f6a10c |
| 20051 | Bulk Product 445a8c59 | Sports & Outdoors | $340.07 | 12 | ★ 3.0 | 35 | BULK-23646cc2 |
| 20052 | Bulk Product 3b35444a | Clothing | $377.75 | 476 | ★ 1.6 | 8 | BULK-44a61a1e |
| 20053 | Bulk Product 1a39029e | Home & Garden | $459.57 | 67 | ★ 4.6 | 72 | BULK-661e6ded |
| 20054 | Bulk Product 2b370753 | Sports & Outdoors | $208.77 | 254 | ★ 3.2 | 1 | BULK-44d134c5 |
| 20055 | Bulk Product 264c3488 | Sports & Outdoors | $317.15 | 83 | ★ 1.2 | 24 | BULK-cd67e160 |
| 20056 | Bulk Product a00ce2b5 | Home & Garden | $501.14 | 81 | ★ 3.1 | 91 | BULK-a894d4df |
| 20057 | Bulk Product 0fbfb327 | Sports & Outdoors | $470.28 | 411 | ★ 4.1 | 11 | BULK-a6148101 |
| 20058 | Bulk Product 3c1ed045 | Toys & Games | $408.17 | 423 | ★ 1.5 | 58 | BULK-02fdb7f2 |
| 20059 | Bulk Product 07400f1f | Books | $365.59 | 127 | ★ 4.7 | 88 | BULK-90d4ea96 |
// 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
};
}