// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler(appBuilder => { appBuilder.Run(async context => { context.Response.StatusCode = 500; await context.Response.WriteAsync("API messed up!"); }); }); } loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(); //AutoMapper.Mapper.Initialize(cfg => //{ // cfg.CreateMap<ProductVM, Product>(); // cfg.CreateMap<Product, ProductVM>() // .ForMember(pVM => pVM.Url, p => p.ResolveUsing<ProductUrlResolver>()); //}); app.UseMvc(); InventoryContextSeed.Initialize(app.ApplicationServices); }
public static async Task Main(string[] args) { var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; var loggerFactory = services.GetRequiredService <ILoggerFactory>(); try { var context = services.GetRequiredService <InventoryDBContext>(); var hostEnv = services.GetService <IWebHostEnvironment>(); var webContentRootPath = hostEnv.ContentRootPath; await context.Database.MigrateAsync(); await InventoryContextSeed.SeedAsync(context, loggerFactory); } catch (Exception ex) { var logger = loggerFactory.CreateLogger <Program>(); logger.LogError(ex, "An error ocurred during migration"); logger.LogError(ex.InnerException.Message); } } host.Run(); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(); app.UseCors("CorsPolicy"); app.UseMvcWithDefaultRoute(); app.UseSwagger() .UseSwaggerUi(); var context = (InventoryContext)app.ApplicationServices.GetService(typeof(InventoryContext)); WaitForSqlAvailability(context, loggerFactory); InventoryContextSeed.SeedAsync(app, loggerFactory) .Wait(); var integrationEventLogContext = new IntegrationEventLogContext( new DbContextOptionsBuilder <IntegrationEventLogContext>() .UseSqlServer(Configuration["ConnectionString"], b => b.MigrationsAssembly("InventoryAPI")) .Options); try { integrationEventLogContext.Database.Migrate(); } catch (Exception ex) { throw ex; } }
public static void Main(string[] args) { CreateHostBuilder(args) .Build() .MigrateDatabase <InventoryContext>((context, services) => { var logger = services.GetService <ILogger <InventoryContextSeed> >(); InventoryContextSeed .SeedAsync(context, logger) .Wait(); }) .Run(); }