From b715fd3150725d72739313b31235f6cc19f93d24 Mon Sep 17 00:00:00 2001 From: Kevin Matsubara Date: Sat, 5 Apr 2025 18:42:59 +0200 Subject: [PATCH] Add example skip-and-take query function. --- EntityFrameworkCore.Console/Program.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/EntityFrameworkCore.Console/Program.cs b/EntityFrameworkCore.Console/Program.cs index ea30869..580c2d7 100644 --- a/EntityFrameworkCore.Console/Program.cs +++ b/EntityFrameworkCore.Console/Program.cs @@ -14,6 +14,26 @@ var teamFour = await context.Teams.SingleOrDefaultAsync(t => t.TeamId == 3); // Rather than raise: "System.InvalidOperationException: Sequence contains no elements." var coach = await context.Coaches.FirstOrDefaultAsync(); +async Task SkipAndTakeTeams() +{ + var recordCount = 3; + var page = 0; + var next = true; + while (next) + { + var teams = await context.Teams.Skip(page * recordCount).Take(recordCount).ToListAsync(); + foreach (var team in teams) + { + Console.WriteLine(team.Name); + } + Console.WriteLine("Enter 'true' for next set of records, or 'false to quit.'"); + next = Convert.ToBoolean(Console.ReadLine()); + + if (!next) break; + page += 1; + } +} + async Task OrderedTeams() { var orderedTeam = await context.Teams