예제 #1
0
 public void ConfigureTesting(IApplicationBuilder app,
                              IHostingEnvironment env,
                              ILoggerFactory loggerFactory)
 {
     this.Configure(app, env, loggerFactory);
     SeedData.PopulateTestData(app.ApplicationServices.GetService <AppDbContext>());
 }
예제 #2
0
        public static void Main(string[] args)
        {
            var builder = CreateWebHostBuilder(args);

            string env = "Development";

            if (args.Any())
            {
                env = args[0];
            }
            builder.UseEnvironment(env);
            var host = builder.Build();


            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;
                try
                {
                    var context = services.GetRequiredService <AppDbContext>();
                    SeedData.PopulateTestData(context);

                    var userManager = services.GetRequiredService <UserManager <ApplicationUser> >();
                    var roleManager = services.GetRequiredService <RoleManager <IdentityRole> >();
                    AppIdentityDbContextSeed.SeedAsync(userManager, roleManager).Wait();
                }
                catch (Exception ex)
                {
                    var logger = services.GetRequiredService <ILogger <Program> >();
                    logger.LogError(ex, "An error occurred while seeding the database.");
                }
            }

            host.Run();
        }