Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 6960 | Bulk Product 3e04ec27 | Toys & Games | $326.09 | 317 | ★ 0.9 | 21 | BULK-99212706 |
| 6961 | Bulk Product 5997d5c3 | Clothing | $552.62 | 346 | ★ 2.4 | 10 | BULK-bac9e7fd |
| 6962 | Bulk Product bf000e78 | Home & Garden | $372.17 | 254 | ★ 3.3 | 23 | BULK-67a03121 |
| 6963 | Bulk Product 0703c147 | Electronics | $500.66 | 229 | ★ 2.6 | 89 | BULK-963e1288 |
| 6964 | Bulk Product 57fa8f8c | Clothing | $349.66 | 113 | ★ 1.5 | 0 | BULK-471bbb5d |
| 6965 | Bulk Product 9e8de18c | Home & Garden | $691.02 | 426 | ★ 3.8 | 38 | BULK-b51f2c75 |
| 6966 | Bulk Product 7b910928 | Clothing | $628.71 | 256 | ★ 4.7 | 86 | BULK-e33e77c3 |
| 6967 | Bulk Product 414d9fad | Sports & Outdoors | $161.95 | 328 | ★ 3.7 | 34 | BULK-285802d2 |
| 6968 | Bulk Product 2262aaa0 | Electronics | $299.50 | 185 | ★ 5.0 | 84 | BULK-a0117bee |
| 6969 | Bulk Product 80ce0afc | Sports & Outdoors | $157.38 | 135 | ★ 4.7 | 70 | BULK-fd47c239 |
| 6970 | Bulk Product 1b4124f1 | Home & Garden | $918.68 | 203 | ★ 2.3 | 47 | BULK-6f7c26b7 |
| 6971 | Bulk Product a399083d | Home & Garden | $96.41 | 433 | ★ 4.6 | 83 | BULK-b6b92f9e |
| 6972 | Bulk Product 6e9dd4f3 | Home & Garden | $908.23 | 397 | ★ 2.3 | 11 | BULK-17e4990a |
| 6973 | Bulk Product 10c774f4 | Toys & Games | $687.63 | 395 | ★ 4.3 | 35 | BULK-dace8b58 |
| 6974 | Bulk Product 628f4fe5 | Toys & Games | $242.65 | 135 | ★ 3.7 | 86 | BULK-5cd98958 |
| 6975 | Bulk Product dc801c52 | Toys & Games | $771.74 | 214 | ★ 3.8 | 38 | BULK-6cf4e205 |
| 6976 | Bulk Product f3e575b8 | Clothing | $15.45 | 128 | ★ 1.3 | 99 | BULK-e088563d |
| 6977 | Bulk Product 9c98602e | Clothing | $63.62 | 353 | ★ 2.7 | 27 | BULK-f11d9bce |
| 6978 | Bulk Product 46296eae | Electronics | $660.37 | 121 | ★ 3.4 | 27 | BULK-2b571b8a |
| 6979 | Bulk Product a60a27df | Home & Garden | $88.15 | 232 | ★ 0.4 | 81 | BULK-a682863d |
| 6980 | Bulk Product 34e49ed1 | Clothing | $860.01 | 27 | ★ 4.2 | 15 | BULK-ce0c3484 |
| 6981 | Bulk Product 0fda86b0 | Sports & Outdoors | $480.35 | 273 | ★ 2.0 | 32 | BULK-c6ad6afc |
| 6982 | Bulk Product 894e3b82 | Electronics | $704.24 | 202 | ★ 4.0 | 48 | BULK-6e6e4917 |
| 6983 | Bulk Product f2d05cd8 | Home & Garden | $449.45 | 479 | ★ 0.6 | 88 | BULK-0b6dc74c |
| 6984 | Bulk Product b7d59c28 | Sports & Outdoors | $882.13 | 38 | ★ 4.8 | 81 | BULK-2ae0695d |
| 6985 | Bulk Product adccddde | Clothing | $141.56 | 109 | ★ 1.3 | 61 | BULK-38061eda |
| 6986 | Bulk Product 35f6b48d | Books | $912.18 | 498 | ★ 1.8 | 63 | BULK-94a4025c |
| 6987 | Bulk Product 5617d966 | Books | $557.29 | 138 | ★ 1.7 | 16 | BULK-4e681a75 |
| 6988 | Bulk Product 73646ace | Sports & Outdoors | $974.24 | 463 | ★ 0.9 | 57 | BULK-1dc316d8 |
| 6989 | Bulk Product 018f69b5 | Electronics | $886.26 | 474 | ★ 0.9 | 9 | BULK-68e68207 |
| 6990 | Bulk Product 443671f4 | Home & Garden | $888.20 | 240 | ★ 0.1 | 6 | BULK-17d8f596 |
| 6991 | Bulk Product aec8180b | Home & Garden | $581.21 | 291 | ★ 2.1 | 68 | BULK-74ff9708 |
| 6992 | Bulk Product 7d03c0ae | Sports & Outdoors | $683.58 | 209 | ★ 1.9 | 43 | BULK-95167cc0 |
| 6993 | Bulk Product 3027109d | Sports & Outdoors | $717.38 | 125 | ★ 1.3 | 7 | BULK-e6946d0e |
| 6994 | Bulk Product 0da72844 | Books | $500.89 | 220 | ★ 2.3 | 79 | BULK-d1cecada |
| 6995 | Bulk Product 69f9a536 | Clothing | $24.90 | 241 | ★ 3.8 | 75 | BULK-d0375cf6 |
| 6996 | Bulk Product 6ddfc2e3 | Toys & Games | $823.56 | 86 | ★ 2.9 | 84 | BULK-196b67c5 |
| 6997 | Bulk Product 27ebcb4b | Clothing | $275.62 | 59 | ★ 3.9 | 9 | BULK-c34532e1 |
| 6998 | Bulk Product 3d902442 | Sports & Outdoors | $955.33 | 209 | ★ 4.4 | 74 | BULK-28d41cd9 |
| 6999 | Bulk Product 76f84f52 | Electronics | $489.39 | 329 | ★ 2.3 | 37 | BULK-1902f5ff |
| 7000 | Bulk Product 7c62de1a | Electronics | $490.13 | 267 | ★ 3.6 | 75 | BULK-fcf77914 |
| 7001 | Bulk Product a9099534 | Home & Garden | $523.30 | 27 | ★ 3.6 | 59 | BULK-c7bc4d89 |
| 7002 | Bulk Product c5c63461 | Books | $588.05 | 293 | ★ 3.3 | 22 | BULK-20df830b |
| 7003 | Bulk Product 31353e51 | Home & Garden | $552.47 | 238 | ★ 3.4 | 1 | BULK-05473530 |
| 7004 | Bulk Product 70f1d99f | Toys & Games | $588.54 | 357 | ★ 2.8 | 9 | BULK-43a70cdf |
| 7005 | Bulk Product 966360c7 | Books | $223.14 | 128 | ★ 3.7 | 82 | BULK-c07093f0 |
| 7006 | Bulk Product deee57e5 | Toys & Games | $623.69 | 225 | ★ 0.0 | 75 | BULK-2abb9994 |
| 7007 | Bulk Product c7348914 | Sports & Outdoors | $233.81 | 176 | ★ 3.7 | 8 | BULK-25c183de |
| 7008 | Bulk Product 590e4845 | Books | $1,006.74 | 360 | ★ 1.1 | 84 | BULK-b7dea135 |
| 7009 | Bulk Product 06f5924b | Toys & Games | $277.29 | 447 | ★ 3.7 | 72 | BULK-1555c7aa |
// 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
};
}