using Microsoft.EntityFrameworkCore; namespace ImageBoardServerApp.Data; internal sealed class AppDBContext : DbContext { public DbSet Users { get; set; } public DbSet Posts { get; set; } public DbSet Images { get; set; } public DbSet Comments { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseSqlite("Data Source=./Data/Nils.db"); protected override void OnModelCreating(ModelBuilder mb) { mb.Entity() .HasMany(post => post.Comments) .WithOne(comment => comment.Post); mb.Entity() .HasOne(post => post.Image) .WithOne(image => image.Post); mb.Entity() .HasOne(comment => comment.Image) .WithOne(image => image.Comment); mb.Entity() .HasMany(user => user.Posts) .WithOne(post => post.User); mb.Entity() .HasMany(user => user.Comments) .WithOne(comment => comment.User); } }