From 981201dc0258bbdb8f83c9fdad1d87155ad1e74f Mon Sep 17 00:00:00 2001 From: "Achim H." Date: Tue, 12 May 2026 12:20:18 +0200 Subject: [PATCH] added Sqlite Integration to Program.cs --- Program.cs | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/Program.cs b/Program.cs index e1e45f8..0986fb3 100644 --- a/Program.cs +++ b/Program.cs @@ -1,23 +1,47 @@ +// Importieren des Entity Frameworks für den Zugriff auf die DB +using Microsoft.EntityFrameworkCore; +// Importieren der Klassen +using SecDevOpsLab.Data; using SecDevOpsLab.Components; +// Initialisieren des Web Builders, der den Server und die Umgebung vorbereitet var builder = WebApplication.CreateBuilder(args); -// Add services to the container. +// Hinzufügen des Blazor Service und die Interagierbarkeit des Frontends builder.Services.AddRazorComponents() .AddInteractiveServerComponents(); +// Registrieren des Datenbankzugriffs (Sqlite) +builder.Services.AddDbContext(options => + options.UseSqlite("Data Source=books.db")); + +// Bauen des Webservers, der App var app = builder.Build(); -// Configure the HTTP request pipeline. +// Erstellen eines temporären Scopes +using (var scope = app.Services.CreateScope()) +{ + // Holen des DB Services + var db = scope.ServiceProvider.GetRequiredService(); + + // Erstellen der books.db automatisch sofern nicht bereits vorhanden + db.Database.EnsureCreated(); +} + +// Hinzufügen einer Fehlerbehandlung -> Fehler wird auf der Website angezeigt if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error", createScopeForErrors: true); } +// Erlauben des Zugriffs auf wwwroot Dir app.UseStaticFiles(); +// Schützen vor CSRF Attacken app.UseAntiforgery(); +// Verknüpfen der Razor Seiten mit den entsprechenden URLs app.MapRazorComponents() .AddInteractiveServerRenderMode(); +// Webserver wird gestartet. Port 8080 wird eröffnet app.Run();