Initial commit
This commit is contained in:
42
Data/ApplicationDbContext.cs
Normal file
42
Data/ApplicationDbContext.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using OneForMe.Models;
|
||||
|
||||
namespace OneForMe.Data;
|
||||
|
||||
public class ApplicationDbContext : DbContext
|
||||
{
|
||||
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
|
||||
{
|
||||
}
|
||||
|
||||
public DbSet<Order> Orders { get; set; }
|
||||
public DbSet<MenuItem> MenuItems { get; set; }
|
||||
public DbSet<OrderItem> OrderItems { get; set; }
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
base.OnModelCreating(modelBuilder);
|
||||
|
||||
modelBuilder.Entity<Order>()
|
||||
.HasIndex(o => o.OrderCode)
|
||||
.IsUnique();
|
||||
|
||||
modelBuilder.Entity<MenuItem>()
|
||||
.HasOne(m => m.Order)
|
||||
.WithMany(o => o.MenuItems)
|
||||
.HasForeignKey(m => m.OrderId)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
modelBuilder.Entity<OrderItem>()
|
||||
.HasOne(oi => oi.Order)
|
||||
.WithMany(o => o.OrderItems)
|
||||
.HasForeignKey(oi => oi.OrderId)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
modelBuilder.Entity<OrderItem>()
|
||||
.HasOne(oi => oi.MenuItem)
|
||||
.WithMany(m => m.OrderItems)
|
||||
.HasForeignKey(oi => oi.MenuItemId)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user