using System.Diagnostics; using Buchhaltung; using Microsoft.EntityFrameworkCore; namespace BuchhaltungBlazor.Data; public class BookingDb : DbContext { public DbSet Bookings { get; set; } public DbSet Categories { get; set; } public DbSet SubCategories { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { const string connectionString = "server=woitschetzki.de;port=3308;database=buchhaltung;user=sascha;password=527646;SslMode=;SslCa="; try { optionsBuilder.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)).EnableSensitiveDataLogging().EnableDetailedErrors(); } catch (Exception exception) { Debug.WriteLine(exception); OnConfiguring(optionsBuilder); throw; } } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.ApplyConfigurationsFromAssembly(typeof(BookingDb).Assembly); modelBuilder.Entity().Navigation(b => b.Category).AutoInclude(); new BookingConfiguration().Configure(modelBuilder.Entity()); new CategoryConfiguration().Configure(modelBuilder.Entity()); new SubCategoryConfiguration().Configure(modelBuilder.Entity()); } }