using Microsoft.EntityFrameworkCore; using DrSousan.Api.Models; namespace DrSousan.Api.Data; public class AppDbContext(DbContextOptions options) : DbContext(options) { public DbSet SiteSettings => Set(); public DbSet Services => Set(); public DbSet GalleryItems => Set(); public DbSet Testimonials => Set(); public DbSet BlogCategories => Set(); public DbSet BlogPosts => Set(); public DbSet Comments => Set(); public DbSet Faqs => Set(); protected override void OnModelCreating(ModelBuilder mb) { mb.Entity() .HasIndex(s => new { s.Section, s.Key }) .IsUnique(); mb.Entity() .HasIndex(b => b.Slug) .IsUnique(); mb.Entity() .HasIndex(c => c.Slug) .IsUnique(); mb.Entity() .HasOne(c => c.Parent) .WithMany(c => c.Replies) .HasForeignKey(c => c.ParentId) .OnDelete(DeleteBehavior.Cascade); } }