Efficient pagination using OFFSET-FETCH on SQL Server.
| ID | Name | Category | Price | Stock | Rating | Reviews | SKU |
|---|---|---|---|---|---|---|---|
| 19910 | Bulk Product d553097b | Books | $832.41 | 25 | ★ 3.1 | 56 | BULK-8240771b |
| 19911 | Bulk Product 7f3907e4 | Home & Garden | $755.32 | 331 | ★ 1.5 | 91 | BULK-546b5644 |
| 19912 | Bulk Product 49d25e3f | Clothing | $650.91 | 258 | ★ 4.1 | 6 | BULK-9cb1fdc8 |
| 19913 | Bulk Product 3f06a883 | Sports & Outdoors | $447.71 | 490 | ★ 4.6 | 82 | BULK-0d138266 |
| 19914 | Bulk Product 12d605e7 | Sports & Outdoors | $825.25 | 386 | ★ 1.7 | 52 | BULK-55cb95e9 |
| 19915 | Bulk Product 5fa6f0d2 | Books | $961.42 | 81 | ★ 4.1 | 58 | BULK-8e2befe3 |
| 19916 | Bulk Product e2c39073 | Books | $322.93 | 455 | ★ 3.9 | 50 | BULK-da07fb82 |
| 19917 | Bulk Product bd5a94dc | Books | $435.78 | 402 | ★ 1.4 | 44 | BULK-9a5d439b |
| 19918 | Bulk Product 87c46ecc | Electronics | $447.77 | 5 | ★ 3.9 | 48 | BULK-56ad9ff8 |
| 19919 | Bulk Product 8a870874 | Sports & Outdoors | $935.87 | 164 | ★ 5.0 | 96 | BULK-89ca2bc9 |
| 19920 | Bulk Product c5bb8458 | Electronics | $48.93 | 115 | ★ 4.1 | 20 | BULK-29752ece |
| 19921 | Bulk Product b43b1a00 | Electronics | $49.86 | 476 | ★ 2.5 | 87 | BULK-843ad966 |
| 19922 | Bulk Product eba377ff | Home & Garden | $926.38 | 493 | ★ 4.8 | 4 | BULK-820af19e |
| 19923 | Bulk Product 0a0fcab2 | Home & Garden | $108.63 | 83 | ★ 1.0 | 25 | BULK-99eb96ad |
| 19924 | Bulk Product 331b02a5 | Electronics | $460.51 | 31 | ★ 3.1 | 77 | BULK-24820e4b |
| 19925 | Bulk Product 1fd9609e | Sports & Outdoors | $54.96 | 254 | ★ 4.6 | 8 | BULK-cb97d4d8 |
| 19926 | Bulk Product 45a81c70 | Toys & Games | $747.24 | 246 | ★ 1.7 | 56 | BULK-fd0fd9c6 |
| 19927 | Bulk Product 4bb9a4ba | Books | $114.96 | 415 | ★ 5.0 | 2 | BULK-d983287f |
| 19928 | Bulk Product 1fca1de2 | Books | $399.86 | 215 | ★ 4.6 | 88 | BULK-b8cc22fd |
| 19929 | Bulk Product 404929e4 | Home & Garden | $873.34 | 495 | ★ 3.0 | 27 | BULK-34b92d2c |
| 19930 | Bulk Product 36e22cbd | Books | $101.55 | 485 | ★ 2.4 | 48 | BULK-bcea5ea1 |
| 19931 | Bulk Product 7c83d4d7 | Electronics | $798.13 | 453 | ★ 3.6 | 34 | BULK-a979da90 |
| 19932 | Bulk Product 475ae08d | Electronics | $498.71 | 168 | ★ 1.7 | 60 | BULK-48c71803 |
| 19933 | Bulk Product d797a794 | Toys & Games | $738.13 | 127 | ★ 2.2 | 36 | BULK-49aea9a0 |
| 19934 | Bulk Product e802d2a0 | Books | $443.91 | 458 | ★ 1.9 | 68 | BULK-15939c8f |
| 19935 | Bulk Product 4e309a40 | Books | $280.25 | 311 | ★ 3.3 | 87 | BULK-73c8d646 |
| 19936 | Bulk Product 41be9769 | Toys & Games | $624.05 | 106 | ★ 4.3 | 23 | BULK-ddac535e |
| 19937 | Bulk Product 0681d2dd | Books | $255.08 | 31 | ★ 0.1 | 38 | BULK-9e463312 |
| 19938 | Bulk Product 21313efa | Sports & Outdoors | $620.61 | 465 | ★ 0.7 | 98 | BULK-76a94d9c |
| 19939 | Bulk Product 3e8fbf9b | Toys & Games | $333.29 | 292 | ★ 3.5 | 7 | BULK-a397f91a |
| 19940 | Bulk Product 745cb988 | Sports & Outdoors | $204.13 | 338 | ★ 1.1 | 76 | BULK-ddf6c228 |
| 19941 | Bulk Product 6c6e8237 | Toys & Games | $61.44 | 486 | ★ 1.1 | 23 | BULK-0d4b3985 |
| 19942 | Bulk Product dd2c12a1 | Clothing | $898.80 | 46 | ★ 4.1 | 33 | BULK-b1f62e49 |
| 19943 | Bulk Product c529e9e8 | Sports & Outdoors | $288.20 | 474 | ★ 2.1 | 28 | BULK-0bde4bb7 |
| 19944 | Bulk Product f7f6e6e5 | Home & Garden | $237.07 | 168 | ★ 2.8 | 64 | BULK-795da64f |
| 19945 | Bulk Product df853c4a | Books | $569.99 | 124 | ★ 1.2 | 17 | BULK-ea49620e |
| 19946 | Bulk Product c4d22a62 | Sports & Outdoors | $388.54 | 120 | ★ 0.9 | 88 | BULK-fc58e184 |
| 19947 | Bulk Product a1478c1c | Home & Garden | $117.87 | 379 | ★ 2.6 | 6 | BULK-8b7f4bd5 |
| 19948 | Bulk Product d65925de | Clothing | $735.15 | 47 | ★ 2.6 | 31 | BULK-b1e1b149 |
| 19949 | Bulk Product 65d3b055 | Sports & Outdoors | $309.99 | 496 | ★ 2.2 | 28 | BULK-078bb201 |
| 19950 | Bulk Product 3301c4b0 | Books | $95.44 | 59 | ★ 1.3 | 3 | BULK-d0e8f5ce |
| 19951 | Bulk Product 59251112 | Electronics | $164.51 | 67 | ★ 2.1 | 97 | BULK-0453bb41 |
| 19952 | Bulk Product b143d4a4 | Toys & Games | $745.85 | 66 | ★ 0.0 | 11 | BULK-e75814c1 |
| 19953 | Bulk Product 063e0bbc | Books | $649.37 | 465 | ★ 3.2 | 98 | BULK-ad1f61c0 |
| 19954 | Bulk Product 81447ffb | Toys & Games | $377.87 | 89 | ★ 4.3 | 30 | BULK-3a379ec1 |
| 19955 | Bulk Product cfc40ff3 | Toys & Games | $241.81 | 32 | ★ 2.0 | 72 | BULK-912ad8e8 |
| 19956 | Bulk Product 06e1c587 | Clothing | $486.64 | 408 | ★ 2.2 | 10 | BULK-2252e271 |
| 19957 | Bulk Product 62799483 | Toys & Games | $771.83 | 420 | ★ 4.8 | 44 | BULK-c553e171 |
| 19958 | Bulk Product c57d7258 | Home & Garden | $379.99 | 180 | ★ 0.5 | 26 | BULK-88ce00c2 |
| 19959 | Bulk Product 7d01b02e | Electronics | $533.18 | 256 | ★ 3.3 | 82 | BULK-f1a3aaf3 |
// 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
};
}