public static async Task Main(string[] args) { IHost host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; var logger = services.GetRequiredService <ILogger <Program> >(); try { var context = services.GetRequiredService <hhDbContext>(); var userManager = services.GetRequiredService <UserManager <User> >(); var roleManager = services.GetRequiredService <RoleManager <Role> >(); await context.Database.MigrateAsync(); await Seed.RolesAndUsers(userManager, roleManager); await Seed.Trails(context); logger.LogInformation("Database migrations and seed data executed successfully."); } catch (Exception ex) { logger.LogError(ex, "An error occured during migration."); } } await host.RunAsync(); }