Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 23860 | Bulk Product 380b80d7 | Toys & Games | $93.77 | 242 | ★ 3.9 | 92 | BULK-587eb43e |
| 23861 | Bulk Product fc086eb5 | Home & Garden | $765.57 | 282 | ★ 3.5 | 91 | BULK-8f0c6143 |
| 23862 | Bulk Product 827eb389 | Home & Garden | $185.34 | 400 | ★ 1.8 | 7 | BULK-4afbef4d |
| 23863 | Bulk Product c99c9c19 | Clothing | $511.29 | 19 | ★ 1.0 | 89 | BULK-f82ef05d |
| 23864 | Bulk Product cd35eccc | Toys & Games | $382.66 | 359 | ★ 3.5 | 90 | BULK-bb955007 |
| 23865 | Bulk Product 2e4e4f35 | Sports & Outdoors | $806.85 | 156 | ★ 0.8 | 40 | BULK-12f2a7aa |
| 23866 | Bulk Product 61ed0ab9 | Electronics | $24.81 | 487 | ★ 1.0 | 88 | BULK-3e59e520 |
| 23867 | Bulk Product 5b59fbc3 | Sports & Outdoors | $79.75 | 395 | ★ 2.1 | 93 | BULK-d1252600 |
| 23868 | Bulk Product cdb95fe3 | Electronics | $942.84 | 269 | ★ 0.9 | 57 | BULK-1334fe32 |
| 23869 | Bulk Product 0e6ebb30 | Books | $120.85 | 403 | ★ 4.0 | 29 | BULK-3b345a46 |
| 23870 | Bulk Product 24e3d2cb | Sports & Outdoors | $991.04 | 432 | ★ 0.4 | 95 | BULK-83bf1221 |
| 23871 | Bulk Product 27e1737e | Clothing | $858.69 | 414 | ★ 0.5 | 54 | BULK-57514992 |
| 23872 | Bulk Product 58c68fca | Sports & Outdoors | $422.04 | 152 | ★ 4.2 | 86 | BULK-7c747612 |
| 23873 | Bulk Product 3d87c35b | Toys & Games | $207.00 | 44 | ★ 3.0 | 10 | BULK-d935f656 |
| 23874 | Bulk Product e5a495e1 | Sports & Outdoors | $474.27 | 414 | ★ 3.5 | 45 | BULK-96d7c809 |
| 23875 | Bulk Product 1adff345 | Books | $347.26 | 165 | ★ 3.1 | 60 | BULK-09e35850 |
| 23876 | Bulk Product cf2bc1f8 | Toys & Games | $925.78 | 149 | ★ 2.5 | 84 | BULK-48cb78af |
| 23877 | Bulk Product fd588fa5 | Toys & Games | $573.35 | 302 | ★ 3.5 | 78 | BULK-5b601bc8 |
| 23878 | Bulk Product 57bf5c60 | Books | $120.79 | 171 | ★ 3.0 | 44 | BULK-9771bcc1 |
| 23879 | Bulk Product e50766ef | Clothing | $539.55 | 54 | ★ 3.8 | 28 | BULK-c73b30b1 |
| 23880 | Bulk Product 643a33c4 | Books | $613.06 | 359 | ★ 0.5 | 89 | BULK-27aef50d |
| 23881 | Bulk Product 49d2a289 | Sports & Outdoors | $30.95 | 354 | ★ 3.5 | 2 | BULK-eb095ae6 |
| 23882 | Bulk Product e22348d4 | Clothing | $663.64 | 477 | ★ 2.1 | 91 | BULK-7709bf02 |
| 23883 | Bulk Product 2b452ca1 | Electronics | $832.06 | 235 | ★ 0.9 | 63 | BULK-c0646a8f |
| 23884 | Bulk Product 02fc7ac8 | Electronics | $788.06 | 172 | ★ 1.9 | 84 | BULK-5ae051f9 |
| 23885 | Bulk Product 8c929369 | Sports & Outdoors | $42.14 | 224 | ★ 1.5 | 79 | BULK-24b0f727 |
| 23886 | Bulk Product bd6c0b0e | Books | $13.96 | 196 | ★ 4.6 | 82 | BULK-1904a2fd |
| 23887 | Bulk Product 7390f339 | Home & Garden | $82.89 | 160 | ★ 4.6 | 71 | BULK-8cac7335 |
| 23888 | Bulk Product 31d654f6 | Home & Garden | $497.79 | 484 | ★ 0.4 | 45 | BULK-fb44c9e7 |
| 23889 | Bulk Product 602b51ef | Home & Garden | $38.47 | 248 | ★ 0.0 | 1 | BULK-0e2a959e |
| 23890 | Bulk Product 5d6fd6b5 | Home & Garden | $816.26 | 408 | ★ 3.1 | 63 | BULK-e7edd3ee |
| 23891 | Bulk Product 60dc6a85 | Home & Garden | $186.52 | 343 | ★ 4.8 | 4 | BULK-c7473cb8 |
| 23892 | Bulk Product 24398932 | Clothing | $438.68 | 45 | ★ 2.5 | 48 | BULK-4d7b8a61 |
| 23893 | Bulk Product 70084763 | Clothing | $157.50 | 278 | ★ 0.3 | 13 | BULK-526d2a92 |
| 23894 | Bulk Product a02da377 | Toys & Games | $486.26 | 346 | ★ 4.8 | 16 | BULK-ac2fea70 |
| 23895 | Bulk Product 1bbee93a | Electronics | $333.80 | 201 | ★ 4.0 | 12 | BULK-b6a118e9 |
| 23896 | Bulk Product 6703e6c1 | Toys & Games | $1,001.36 | 239 | ★ 2.8 | 94 | BULK-3d866b92 |
| 23897 | Bulk Product 0286a258 | Clothing | $504.82 | 253 | ★ 3.9 | 35 | BULK-b2b9c67f |
| 23898 | Bulk Product 7cef4b14 | Electronics | $841.62 | 77 | ★ 4.0 | 87 | BULK-cb1dee70 |
| 23899 | Bulk Product 6a71293e | Electronics | $454.63 | 291 | ★ 0.3 | 34 | BULK-1231a16e |
| 23900 | Bulk Product 55212064 | Sports & Outdoors | $671.79 | 388 | ★ 1.0 | 2 | BULK-3aded461 |
| 23901 | Bulk Product 29f55875 | Sports & Outdoors | $14.43 | 189 | ★ 2.4 | 19 | BULK-b69f39c8 |
| 23902 | Bulk Product 485c9541 | Clothing | $1,005.91 | 252 | ★ 3.5 | 72 | BULK-8eb8fc56 |
| 23903 | Bulk Product c8d3f8d2 | Toys & Games | $243.24 | 108 | ★ 3.7 | 75 | BULK-152f544b |
| 23904 | Bulk Product 29dbe94e | Books | $663.04 | 475 | ★ 2.5 | 13 | BULK-1a172ab5 |
| 23905 | Bulk Product 68fa5ce0 | Home & Garden | $942.11 | 191 | ★ 0.1 | 69 | BULK-0ea11a54 |
| 23906 | Bulk Product 8e81f1d9 | Sports & Outdoors | $333.66 | 21 | ★ 1.8 | 10 | BULK-5e258af6 |
| 23907 | Bulk Product 53212904 | Home & Garden | $351.96 | 53 | ★ 2.7 | 8 | BULK-46e75202 |
| 23908 | Bulk Product ea574b0a | Toys & Games | $290.43 | 473 | ★ 3.0 | 51 | BULK-ffa1bfe7 |
| 23909 | Bulk Product 5c4eaf09 | Home & Garden | $203.46 | 263 | ★ 2.3 | 10 | BULK-e577718c |
// 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
};
}