public static async Task Main(string[] args) { await CNPJData.PrepareFiles(); var host = CreateHostBuilder(args).Build(); using (var serviceScope = host.Services.CreateScope()) { var services = serviceScope.ServiceProvider; try { using (var context = services.GetRequiredService <DatabaseContext>()) { await context.Database.MigrateAsync(); await context.PopulateDatabaseWithCNPJData(); } } catch (Exception ex) { Console.WriteLine($"Error: {ex}"); } } host.Run(); }
public async Task PopulateDatabaseWithCNPJData() { var companiesCount = await Companies.CountAsync(); var membersCount = await Companies.CountAsync(); if (companiesCount == 0 || membersCount == 0) { var cnpj = new CNPJData(); cnpj.RetrieveDataFromFiles(); Console.WriteLine("\nDatabase is empty, populating it with CNPJ data..."); var sw = Stopwatch.StartNew(); await Companies.AddRangeAsync(cnpj.Companies); await Members.AddRangeAsync(cnpj.Members); await SaveChangesAsync(); sw.Stop(); Console.WriteLine($"Finished populating Database with CNPJ data in {sw.ElapsedMilliseconds/1000}s\n"); } }