Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 15060 | Bulk Product 7e14b878 | Sports & Outdoors | $540.89 | 44 | ★ 2.1 | 60 | BULK-6b20b79e |
| 15061 | Bulk Product 7ac8635c | Home & Garden | $689.99 | 415 | ★ 2.3 | 62 | BULK-300a834e |
| 15062 | Bulk Product ea2fa4bc | Toys & Games | $13.36 | 170 | ★ 4.5 | 74 | BULK-55b98c36 |
| 15063 | Bulk Product 852a3438 | Home & Garden | $759.73 | 148 | ★ 4.4 | 54 | BULK-402a5b06 |
| 15064 | Bulk Product 017006ce | Toys & Games | $574.98 | 20 | ★ 3.2 | 1 | BULK-54c79f6e |
| 15065 | Bulk Product a4b641e6 | Toys & Games | $249.32 | 160 | ★ 3.7 | 25 | BULK-733aa3e3 |
| 15066 | Bulk Product 6e98f22f | Toys & Games | $758.29 | 129 | ★ 1.7 | 60 | BULK-2b2d0106 |
| 15067 | Bulk Product 040ec003 | Home & Garden | $396.62 | 80 | ★ 1.7 | 83 | BULK-31824bbc |
| 15068 | Bulk Product 52733a2c | Sports & Outdoors | $421.76 | 422 | ★ 2.5 | 6 | BULK-d62cc501 |
| 15069 | Bulk Product 1c130665 | Sports & Outdoors | $750.31 | 53 | ★ 1.3 | 2 | BULK-a4aa3f64 |
| 15070 | Bulk Product bf920fd8 | Home & Garden | $983.52 | 482 | ★ 1.1 | 54 | BULK-99447581 |
| 15071 | Bulk Product a42308a6 | Toys & Games | $424.34 | 356 | ★ 2.6 | 61 | BULK-68f21285 |
| 15072 | Bulk Product 3a941213 | Sports & Outdoors | $679.76 | 216 | ★ 2.3 | 53 | BULK-f529ed41 |
| 15073 | Bulk Product 2a8d16db | Toys & Games | $125.52 | 84 | ★ 0.8 | 61 | BULK-d60362c5 |
| 15074 | Bulk Product 291a711c | Sports & Outdoors | $39.07 | 267 | ★ 4.0 | 66 | BULK-42b41af5 |
| 15075 | Bulk Product aa37114f | Toys & Games | $84.74 | 324 | ★ 2.6 | 58 | BULK-02531601 |
| 15076 | Bulk Product 9a165639 | Clothing | $963.80 | 206 | ★ 1.3 | 98 | BULK-73588520 |
| 15077 | Bulk Product 50ea8796 | Books | $221.09 | 34 | ★ 1.4 | 13 | BULK-c08146b3 |
| 15078 | Bulk Product 52f7e7d3 | Books | $527.92 | 291 | ★ 0.6 | 26 | BULK-5c2469d1 |
| 15079 | Bulk Product 3d53934a | Home & Garden | $128.46 | 444 | ★ 0.0 | 28 | BULK-3637522c |
| 15080 | Bulk Product 4c39a1e0 | Home & Garden | $481.52 | 270 | ★ 4.3 | 55 | BULK-bc6f7320 |
| 15081 | Bulk Product 88a19787 | Electronics | $800.49 | 386 | ★ 1.2 | 85 | BULK-065892be |
| 15082 | Bulk Product 7b2a178e | Clothing | $893.34 | 411 | ★ 4.5 | 82 | BULK-1a4c81c3 |
| 15083 | Bulk Product 5cac59bd | Books | $187.70 | 298 | ★ 2.7 | 17 | BULK-2b452b56 |
| 15084 | Bulk Product e0ee2fcf | Toys & Games | $528.48 | 51 | ★ 3.2 | 72 | BULK-c0560ecb |
| 15085 | Bulk Product 33f8764c | Clothing | $131.31 | 409 | ★ 4.2 | 92 | BULK-54bb91e3 |
| 15086 | Bulk Product ff32adf8 | Sports & Outdoors | $361.87 | 132 | ★ 4.1 | 91 | BULK-9a6de182 |
| 15087 | Bulk Product 00c9a190 | Clothing | $306.47 | 155 | ★ 0.4 | 99 | BULK-d195c31c |
| 15088 | Bulk Product f2453f33 | Home & Garden | $436.40 | 256 | ★ 2.4 | 99 | BULK-331dc32a |
| 15089 | Bulk Product bb0f5172 | Sports & Outdoors | $772.20 | 376 | ★ 2.3 | 82 | BULK-557928cb |
| 15090 | Bulk Product 65181e81 | Home & Garden | $585.76 | 210 | ★ 4.3 | 65 | BULK-1fc0f75c |
| 15091 | Bulk Product f811cdb2 | Electronics | $888.11 | 65 | ★ 4.2 | 20 | BULK-01143957 |
| 15092 | Bulk Product 46170700 | Home & Garden | $261.21 | 41 | ★ 2.4 | 53 | BULK-01245580 |
| 15093 | Bulk Product 1bdcd0ab | Toys & Games | $920.04 | 19 | ★ 4.6 | 64 | BULK-b7f4e875 |
| 15094 | Bulk Product bdf22ea8 | Home & Garden | $289.82 | 32 | ★ 0.3 | 96 | BULK-0a1d9bca |
| 15095 | Bulk Product adcc7114 | Electronics | $492.56 | 41 | ★ 1.6 | 14 | BULK-55c57978 |
| 15096 | Bulk Product 23d387cf | Clothing | $239.38 | 486 | ★ 5.0 | 65 | BULK-52ffb1eb |
| 15097 | Bulk Product 9b596615 | Clothing | $863.02 | 361 | ★ 3.4 | 31 | BULK-794dd9d3 |
| 15098 | Bulk Product b88d5e00 | Home & Garden | $515.28 | 41 | ★ 3.7 | 52 | BULK-374dd245 |
| 15099 | Bulk Product 528073e4 | Books | $202.24 | 193 | ★ 1.2 | 26 | BULK-e7947ce3 |
| 15100 | Bulk Product 5193b13a | Electronics | $814.16 | 124 | ★ 1.7 | 54 | BULK-c30262a1 |
| 15101 | Bulk Product 9b01cab9 | Clothing | $467.07 | 425 | ★ 3.7 | 40 | BULK-a664f9c7 |
| 15102 | Bulk Product be7ca977 | Home & Garden | $727.83 | 277 | ★ 2.9 | 17 | BULK-9b498588 |
| 15103 | Bulk Product def5a15f | Books | $627.22 | 310 | ★ 0.1 | 12 | BULK-27dceed3 |
| 15104 | Bulk Product 3941bfce | Clothing | $586.91 | 416 | ★ 2.0 | 8 | BULK-9aca2595 |
| 15105 | Bulk Product b9781a80 | Sports & Outdoors | $867.87 | 354 | ★ 1.2 | 8 | BULK-bac44b84 |
| 15106 | Bulk Product b0ea3267 | Sports & Outdoors | $330.48 | 99 | ★ 0.2 | 54 | BULK-77cee513 |
| 15107 | Bulk Product 8de009b4 | Home & Garden | $617.33 | 280 | ★ 3.4 | 90 | BULK-14ae469c |
| 15108 | Bulk Product a7626c9a | Toys & Games | $34.50 | 94 | ★ 1.4 | 57 | BULK-1d86d417 |
| 15109 | Bulk Product 5e64d196 | Home & Garden | $140.58 | 397 | ★ 3.0 | 3 | BULK-1e604604 |
// 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
};
}