public async static Task Main(string[] args) { var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; try { var context = services.GetRequiredService <ApplicationDbContext>(); // UserManager var userManager = services.GetRequiredService <UserManager <ApplicationUser> >(); // // Adding Roles var roleManager = services.GetRequiredService <RoleManager <IdentityRole> >(); context.Database.Migrate(); // Apply Seed await ApplicationDbContextSeed.SeedData(context, userManager, roleManager); } catch (Exception ex) { var logger = services.GetRequiredService <ILogger <Program> >(); logger.LogError(ex, "An error ocurring during migration"); } } await host.RunAsync(); }
public static async Task SeedDatabase(IHost host) { using var scope = host.Services.CreateScope(); var services = scope.ServiceProvider; try { var context = services.GetRequiredService <ApplicationDbContext>(); var userManager = services.GetRequiredService <UserManager <AppUser> >(); await context.Database.MigrateAsync(); await ApplicationDbContextSeed.SeedData(context, userManager); } catch (Exception ex) { var logger = services.GetRequiredService <ILogger <Program> >(); logger.LogError(ex, "An error occurred while migrating or seeding the database."); } }