From 6dcf07e90ea8954ff8d587201ab21690e67c3a26 Mon Sep 17 00:00:00 2001 From: Kevin Matsubara Date: Mon, 7 Apr 2025 13:26:10 +0200 Subject: [PATCH] Add example function inserting relational data objects. --- EntityFrameworkCore.Console/Program.cs | 58 ++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/EntityFrameworkCore.Console/Program.cs b/EntityFrameworkCore.Console/Program.cs index 149b3e8..8052a50 100644 --- a/EntityFrameworkCore.Console/Program.cs +++ b/EntityFrameworkCore.Console/Program.cs @@ -15,6 +15,64 @@ context.Database.EnsureCreated(); // Rather than raise: "System.InvalidOperationException: Sequence contains no elements." // var firstCoach = await context.Coaches.FirstOrDefaultAsync(); +async Task InsertRelatedData() +{ + // Insert record with a Foreign Key. + var match = new Match + { + AwayTeamId = 1, + HomeTeamId = 2, + AwayTeamScore = 0, + HomeTeamScore = 0, + Date = new DateTime(2025, 6, 1), + TicketPrice = 20 + }; + + await context.AddAsync(match); + await context.SaveChangesAsync(); + + // Insert Parent/Child + var team = new Team + { + Name = "Neo Istanbul", + Coach = new Coach + { + Name = "Gimbal Wizbouski" + } + }; + + await context.AddAsync(team); + await context.SaveChangesAsync(); + + // Insert Parent with Children. + var league = new League + { + Name = "Star League", + Teams = new List + { + new Team + { + Name = "Neo Cairo", + Coach = new Coach + { + Name = "Damon Pulsar" + } + }, + new Team + { + Name = "Cyborgs", + Coach = new Coach + { + Name = "C-1" + } + } + } + }; + + await context.AddAsync(league); + await context.SaveChangesAsync(); +} + async Task ExecuteDelete(string name) { // var coaches = await context.Coaches.Where(c => c.Name == name).ToListAsync();