using labdb.Models; using Microsoft.EntityFrameworkCore; namespace labdb; public static class Program { public static void Main(string[] args) { var builder = WebApplication.CreateBuilder(args); builder.Host.UseSystemd(); var connectionString = builder.Configuration.GetConnectionString("DefaultConnection") ?? throw new InvalidOperationException("Connection string 'DefaultConnection' not found."); builder.Services.AddDbContextFactory(options => options .UseNpgsql(connectionString, x => x .UseNetTopologySuite() ) .UseSnakeCaseNamingConvention() .UseAllCheckConstraints() ); builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor(); var app = builder.Build(); app.MigrateDatabase(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); } app.UseStaticFiles(); app.UseRouting(); app.MapBlazorHub(); app.MapFallbackToPage("/_Host"); app.Run(); } private static void MigrateDatabase(this WebApplication app) { var dbContextFactory = app.Services.GetRequiredService>(); using var dbContext = dbContextFactory.CreateDbContext(); dbContext.Database.Migrate(); } }