using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; using OneForMe.Models; namespace OneForMe.Data; public class ApplicationDbContext : IdentityDbContext { public ApplicationDbContext(DbContextOptions options) : base(options) { } public DbSet Orders { get; set; } public DbSet MenuItems { get; set; } public DbSet OrderItems { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity() .HasIndex(o => o.OrderCode) .IsUnique(); modelBuilder.Entity() .HasOne(m => m.Order) .WithMany(o => o.MenuItems) .HasForeignKey(m => m.OrderId) .OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity() .HasOne(oi => oi.Order) .WithMany(o => o.OrderItems) .HasForeignKey(oi => oi.OrderId) .OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity() .HasOne(oi => oi.MenuItem) .WithMany(m => m.OrderItems) .HasForeignKey(oi => oi.MenuItemId) .OnDelete(DeleteBehavior.Cascade); } }