/// <summary> /// Importiert die Ergebnisse (csv-Datei >> Datenbank). /// </summary> private static void InitData() { using (IUnitOfWork unitOfWork = new UnitOfWork()) { Log.Information("Import der Spiele und Teams in die Datenbank"); Log.Information("Datenbank löschen"); unitOfWork.DeleteDatabase(); Log.Information("Datenbank migrieren"); unitOfWork.MigrateDatabase(); Log.Information("Spiele werden von premierleague.csv eingelesen"); var games = ImportController.ReadFromCsv().ToArray(); if (games.Length == 0) { Log.Warning("!!! Es wurden keine Spiele eingelesen"); } else { Log.Debug($" Es wurden {games.Count()} Spiele eingelesen!"); var teams = games.Select(s => s.HomeTeam).Distinct().Union(games.Select(s => s.GuestTeam).Distinct()); Log.Debug($" Es wurden {teams.Count()} Teams eingelesen!"); Log.Information("Daten werden in Datenbank gespeichert (in Context übertragen)"); unitOfWork.Games.AddRange(games); unitOfWork.Teams.AddRange(teams); unitOfWork.SaveChanges(); Log.Information("Daten wurden in DB gespeichert!"); } } }
/// <summary> /// Importiert die Ergebnisse (csv-Datei >> Datenbank). /// </summary> private static void InitData() { using (IUnitOfWork unitOfWork = new UnitOfWork()) { Log.Information("Import der Spiele und Teams in die Datenbank"); Log.Information("Datenbank löschen"); // TODO: Datenbank löschen Log.Information("Datenbank migrieren"); // TODO: Datenbank migrieren Log.Information("Spiele werden von premierleague.csv eingelesen"); var games = ImportController.ReadFromCsv().ToArray(); if (games.Length == 0) { Log.Warning("!!! Es wurden keine Spiele eingelesen"); } else { Log.Debug($" Es wurden {games.Count()} Spiele eingelesen!"); // TODO: Teams aus den Games ermitteln var teams = Enumerable.Empty <Team>(); Log.Debug($" Es wurden {teams.Count()} Teams eingelesen!"); Log.Information("Daten werden in Datenbank gespeichert (in Context übertragen)"); // TODO: Teams/Games in der Datenbank speichern Log.Information("Daten wurden in DB gespeichert!"); } } }
static async Task Main() { Console.WriteLine("Import der Spiele und Teams in die Datenbank"); using IUnitOfWork unitOfWork = new UnitOfWork(); Console.WriteLine("Datenbank löschen"); await unitOfWork.DeleteDatabaseAsync(); Console.WriteLine("Datenbank migrieren"); await unitOfWork.MigrateDatabaseAsync(); Console.WriteLine("Spiele werden von premierleague.csv eingelesen"); var games = (await ImportController.ReadFromCsvAsync()).ToArray(); if (games.Length == 0) { Console.WriteLine("!!! Es wurden keine Spiele eingelesen"); return; } Console.WriteLine($" Es wurden {games.Count()} Spiele eingelesen!"); var teams = games.SelectMany(g => new List <Team> { g.HomeTeam, g.GuestTeam }).Distinct().ToList(); Console.WriteLine($" Es wurden {teams.Count()} Teams eingelesen!"); Console.WriteLine("Daten werden in Datenbank gespeichert (in Context übertragen)"); Console.WriteLine("Zuerst die Teams, damit die maximale Rundenzahl bei der Validierung stimmt"); await unitOfWork.Teams.AddRangeAsync(teams); await unitOfWork.SaveChangesAsync(); Console.WriteLine("Dann die Games mit den TeamGoals und deren TeamId"); await unitOfWork.Games.AddRangeAsync(games); await unitOfWork.SaveChangesAsync(); Console.WriteLine(); Console.WriteLine("Daten wurden in DB gespeichert!"); Console.Write("Beenden mit Eingabetaste ..."); Console.ReadLine(); }