private static void SeedShopDb(IWebHost host) { using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; try { var shopDbContext = services.GetRequiredService <ShopDbContext>(); ApiDbSeeder.Seed(shopDbContext).Wait(); var applicationDbContext = services.GetRequiredService <ApplicationDbContext>(); var userManager = services.GetRequiredService <UserManager <ApplicationUser> >(); var roleManager = services.GetRequiredService <RoleManager <IdentityRole> >(); ApplicationDbSeeder.Seed(applicationDbContext, roleManager, userManager).Wait(); } catch (Exception ex) { var logger = services.GetRequiredService <ILogger <Program> >(); logger.LogError(ex, "An error occurred while seeding the database."); } } }
public void Configure(IApplicationBuilder app, ApplicationDbSeeder dbSeeder, ApplicationDbContext dbContext) { if (Scenarios.Plaintext) { app.UsePlainText(); } if (Scenarios.Json) { app.UseJson(); } // Single query endpoints if (Scenarios.DbSingleQueryRaw) { app.UseSingleQueryRaw(); } if (Scenarios.DbSingleQueryDapper) { app.UseSingleQueryDapper(); } if (Scenarios.DbSingleQueryEf) { app.UseSingleQueryEf(); } // Multiple query endpoints if (Scenarios.DbMultiQueryRaw) { app.UseMultipleQueriesRaw(); } if (Scenarios.DbMultiQueryDapper) { app.UseMultipleQueriesDapper(); } if (Scenarios.DbMultiQueryEf) { app.UseMultipleQueriesEf(); } // Multiple update endpoints if (Scenarios.DbMultiUpdateRaw) { app.UseMultipleUpdatesRaw(); } if (Scenarios.DbMultiUpdateDapper) { app.UseMultipleUpdatesDapper(); } if (Scenarios.DbMultiUpdateEf) { app.UseMultipleUpdatesEf(); } // Fortunes endpoints if (Scenarios.DbFortunesRaw) { app.UseFortunesRaw(); } if (Scenarios.DbFortunesDapper) { app.UseFortunesDapper(); } if (Scenarios.DbFortunesEf) { app.UseFortunesEf(); } if (Scenarios.Any("Db")) { dbContext.Database.EnsureCreated(); if (!dbSeeder.Seed()) { Environment.Exit(1); } } if (Scenarios.Any("Mvc")) { app.UseMvc(); } if (Scenarios.StaticFiles) { app.UseStaticFiles(); } app.RunDebugInfoPage(); }
public void Configure(IApplicationBuilder app, ApplicationDbSeeder dbSeeder) { if (Scenarios.Plaintext) { app.UsePlainText(); } if (Scenarios.Json) { app.UseJson(); } if (Scenarios.Copy) { app.UseCopyToAsync(); } // Single query endpoints if (Scenarios.DbSingleQueryRaw) { app.UseSingleQueryRaw(); } if (Scenarios.DbSingleQueryDapper) { app.UseSingleQueryDapper(); } if (Scenarios.DbSingleQueryEf) { app.UseSingleQueryEf(); } // Multiple query endpoints if (Scenarios.DbMultiQueryRaw) { app.UseMultipleQueriesRaw(); } if (Scenarios.DbMultiQueryDapper) { app.UseMultipleQueriesDapper(); } if (Scenarios.DbMultiQueryEf) { app.UseMultipleQueriesEf(); } // Multiple update endpoints if (Scenarios.DbMultiUpdateRaw) { app.UseMultipleUpdatesRaw(); } if (Scenarios.DbMultiUpdateDapper) { app.UseMultipleUpdatesDapper(); } if (Scenarios.DbMultiUpdateEf) { app.UseMultipleUpdatesEf(); } // Fortunes endpoints if (Scenarios.DbFortunesRaw) { app.UseFortunesRaw(); } if (Scenarios.DbFortunesDapper) { app.UseFortunesDapper(); } if (Scenarios.DbFortunesEf) { app.UseFortunesEf(); } if (Scenarios.Any("Db")) { if (!dbSeeder.Seed()) { Environment.Exit(1); } } if (Scenarios.Any("Mvc")) { app.UseMvc(); } if (Scenarios.StaticFiles) { app.UseStaticFiles(); } if (Scenarios.Any("MemoryCachePlaintext")) { app.UseMemoryCachePlaintext(); } if (Scenarios.ResponseCachingPlaintextCached) { app.UseResponseCachingPlaintextCached(); } if (Scenarios.ResponseCachingPlaintextResponseNoCache) { app.UseResponseCachingPlaintextResponseNoCache(); } if (Scenarios.ResponseCachingPlaintextRequestNoCache) { app.UseResponseCachingPlaintextRequestNoCache(); } if (Scenarios.ResponseCachingPlaintextVaryByCached) { app.UseResponseCachingPlaintextVaryByCached(); } app.RunDebugInfoPage(); }