Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 8310 | Bulk Product c5929a25 | Books | $380.83 | 475 | ★ 0.4 | 86 | BULK-2a430678 |
| 8311 | Bulk Product 121edb5e | Home & Garden | $636.57 | 183 | ★ 3.6 | 41 | BULK-8c25ace5 |
| 8312 | Bulk Product a23a7b3f | Home & Garden | $547.79 | 141 | ★ 3.7 | 30 | BULK-c38073e1 |
| 8313 | Bulk Product 62b2a10d | Electronics | $156.09 | 439 | ★ 1.0 | 22 | BULK-8aa4a62b |
| 8314 | Bulk Product 56ad514d | Electronics | $477.28 | 344 | ★ 1.9 | 44 | BULK-d87222d2 |
| 8315 | Bulk Product 30cbd06f | Home & Garden | $734.01 | 130 | ★ 1.5 | 71 | BULK-fb93284b |
| 8316 | Bulk Product 1f14fe7e | Clothing | $543.07 | 234 | ★ 4.8 | 14 | BULK-a91ce857 |
| 8317 | Bulk Product 4b0fa2ed | Home & Garden | $737.39 | 85 | ★ 0.0 | 44 | BULK-a0c778c3 |
| 8318 | Bulk Product f52ed887 | Electronics | $942.69 | 253 | ★ 0.8 | 44 | BULK-3271c249 |
| 8319 | Bulk Product b10063be | Sports & Outdoors | $387.78 | 103 | ★ 3.6 | 89 | BULK-6639c482 |
| 8320 | Bulk Product 2c542668 | Books | $304.68 | 67 | ★ 0.5 | 51 | BULK-3d3ed6dc |
| 8321 | Bulk Product 4d6ec2ef | Electronics | $503.22 | 395 | ★ 2.5 | 60 | BULK-90dc7e56 |
| 8322 | Bulk Product 63ef7211 | Electronics | $469.50 | 353 | ★ 1.0 | 87 | BULK-5642c8c4 |
| 8323 | Bulk Product 53dfb8d8 | Books | $871.98 | 57 | ★ 1.8 | 79 | BULK-447ac6ca |
| 8324 | Bulk Product 1df651a5 | Sports & Outdoors | $675.94 | 46 | ★ 1.7 | 74 | BULK-44dc6e55 |
| 8325 | Bulk Product cc53ff0f | Clothing | $601.16 | 395 | ★ 4.5 | 34 | BULK-dba14919 |
| 8326 | Bulk Product d717f519 | Home & Garden | $385.86 | 474 | ★ 4.1 | 57 | BULK-5f80d60a |
| 8327 | Bulk Product a5922dbd | Home & Garden | $12.91 | 313 | ★ 3.0 | 52 | BULK-ee85ae65 |
| 8328 | Bulk Product 0983c7cc | Home & Garden | $698.14 | 202 | ★ 0.8 | 78 | BULK-cb32fb3f |
| 8329 | Bulk Product 0f5b953c | Books | $915.28 | 337 | ★ 0.8 | 90 | BULK-deb569c0 |
| 8330 | Bulk Product 77fe8d98 | Clothing | $800.25 | 21 | ★ 3.2 | 29 | BULK-5284fc55 |
| 8331 | Bulk Product 20d9b657 | Toys & Games | $127.35 | 41 | ★ 3.5 | 43 | BULK-ffe388da |
| 8332 | Bulk Product e749666c | Toys & Games | $808.41 | 329 | ★ 4.4 | 7 | BULK-0981b3c7 |
| 8333 | Bulk Product 6f91129e | Books | $196.73 | 166 | ★ 0.2 | 95 | BULK-46fc8d98 |
| 8334 | Bulk Product e27b9b4a | Toys & Games | $996.79 | 278 | ★ 0.8 | 18 | BULK-f675b7ce |
| 8335 | Bulk Product 6ce9c9b0 | Electronics | $651.74 | 330 | ★ 3.0 | 41 | BULK-25d1d9f2 |
| 8336 | Bulk Product 321084de | Home & Garden | $700.44 | 31 | ★ 0.2 | 87 | BULK-d1724a54 |
| 8337 | Bulk Product ab3dd97c | Electronics | $316.08 | 261 | ★ 1.2 | 43 | BULK-8221d508 |
| 8338 | Bulk Product 2288d45d | Sports & Outdoors | $637.11 | 249 | ★ 1.8 | 79 | BULK-85b333dd |
| 8339 | Bulk Product 5d87e0dd | Books | $962.52 | 121 | ★ 2.0 | 41 | BULK-c8aaeb6a |
| 8340 | Bulk Product 92464501 | Sports & Outdoors | $844.69 | 401 | ★ 1.4 | 97 | BULK-127ef2e3 |
| 8341 | Bulk Product 15611e4c | Clothing | $195.89 | 451 | ★ 4.0 | 49 | BULK-40abc432 |
| 8342 | Bulk Product c494fbda | Toys & Games | $923.51 | 37 | ★ 4.7 | 29 | BULK-6403093a |
| 8343 | Bulk Product c7e6e8e2 | Clothing | $25.53 | 176 | ★ 0.2 | 31 | BULK-f013339b |
| 8344 | Bulk Product d640ad91 | Toys & Games | $215.16 | 496 | ★ 4.0 | 60 | BULK-862783db |
| 8345 | Bulk Product 808dda99 | Electronics | $79.49 | 152 | ★ 3.2 | 94 | BULK-56d95d1f |
| 8346 | Bulk Product ad460625 | Books | $243.13 | 219 | ★ 2.3 | 61 | BULK-74ac0dd7 |
| 8347 | Bulk Product 0f8ea7cb | Clothing | $886.10 | 226 | ★ 4.8 | 54 | BULK-93d6bd03 |
| 8348 | Bulk Product aeb57c7d | Electronics | $721.61 | 89 | ★ 2.3 | 76 | BULK-c722d776 |
| 8349 | Bulk Product 79614152 | Home & Garden | $519.46 | 363 | ★ 2.3 | 40 | BULK-7f41034e |
| 8350 | Bulk Product 2ac4fc85 | Sports & Outdoors | $938.94 | 263 | ★ 5.0 | 55 | BULK-1d144272 |
| 8351 | Bulk Product 53bd72b8 | Home & Garden | $268.42 | 120 | ★ 1.7 | 73 | BULK-dc0d70cb |
| 8352 | Bulk Product 12730a7b | Books | $708.22 | 441 | ★ 2.0 | 31 | BULK-87c8f602 |
| 8353 | Bulk Product 825b4947 | Toys & Games | $159.91 | 185 | ★ 0.3 | 37 | BULK-1f7ab787 |
| 8354 | Bulk Product b18dc71f | Toys & Games | $534.96 | 15 | ★ 1.5 | 75 | BULK-bb8ae906 |
| 8355 | Bulk Product 677d3fdb | Books | $683.75 | 326 | ★ 3.7 | 93 | BULK-fc67c9a6 |
| 8356 | Bulk Product 4ebbbf76 | Sports & Outdoors | $766.87 | 432 | ★ 1.7 | 49 | BULK-9deac593 |
| 8357 | Bulk Product 747f44fe | Home & Garden | $968.75 | 493 | ★ 1.7 | 80 | BULK-5a0152f2 |
| 8358 | Bulk Product 98012d69 | Clothing | $815.03 | 224 | ★ 2.2 | 33 | BULK-e8e370b2 |
| 8359 | Bulk Product c20aa04c | Electronics | $725.87 | 362 | ★ 3.7 | 73 | BULK-606754f4 |
// 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
};
}