public static void Main(string[] args) { var host = BuildWebHost(args); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; var logger = services.GetRequiredService <ILogger <Program> >(); try { var context = services.GetRequiredService <AppDbContext>(); var userManager = services.GetRequiredService <UserManager <User> >(); var roleManager = services.GetRequiredService <RoleManager <IdentityRole> >(); var configuration = services.GetRequiredService <IConfiguration>(); var appEnvironment = services.GetService <IHostingEnvironment>(); var dbInitializerLogger = services.GetRequiredService <ILogger <UsersDbInitializer> >(); UsersDbInitializer.InitializeAsync(context, userManager, roleManager, dbInitializerLogger, configuration).Wait(); ProductDbInitializaer.Initialize(context).Wait(); PropsInitializator.InitializeAsync(context).Wait(); FixedImageSize(context, appEnvironment, configuration); } catch (Exception ex) { logger.LogError(ex, "An error occurred while seeding the database."); } } host.Run(); }
private void InitializeDb(IApplicationBuilder app) { using (var scope = app.ApplicationServices.GetRequiredService <IServiceScopeFactory>().CreateScope()) { var dbContext = scope.ServiceProvider.GetRequiredService <ApplicationDbContext>(); var dbInit = new DbInitializer(dbContext, _dataPath); dbInit.CheckDb(); // Adding Roles and Users to data base UsersDbInitializer.RolesInitialize(scope.ServiceProvider).Wait(); UsersDbInitializer.UsersInitialize(scope.ServiceProvider).Wait(); } }