using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Catalog26.Data; using Microsoft.EntityFrameworkCore.Internal; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); builder.Services.AddDbContext(options => options.UseSqlServer(builder.Configuration.GetConnectionString("Catalog26Context") ?? throw new InvalidOperationException("Connection string 'Catalog26Context' not found."))); // Pre-requisite // Install-Package Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore builder.Services.AddDatabaseDeveloperPageExceptionFilter(); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } else { app.UseDeveloperExceptionPage(); app.UseMigrationsEndPoint(); } // Create the database if doesn't exist using (var scope = app.Services.CreateScope()) { var services = scope.ServiceProvider; var context = services.GetRequiredService(); context.Database.EnsureCreated(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapStaticAssets(); app.MapRazorPages() .WithStaticAssets(); app.Run();