using backend.Entities; using Microsoft.EntityFrameworkCore; namespace backend.Data { public class DataContext : DbContext { public DataContext(DbContextOptions dbContextOptions) : base(dbContextOptions) { } private DbSet users; public DbSet Users { get { if (users == null) { users = Set(); } return users; } } private DbSet restaurants; public DbSet Restoraunts { get { if (restaurants == null) { restaurants = Set(); } return restaurants; } } private DbSet reservations; public DbSet Reservations { get { if (reservations == null) { reservations = Set(); } return reservations; } } protected override void OnModelCreating(ModelBuilder modelBuilder) { // // User // modelBuilder.Entity().Property(x => x.Id).IsRequired().ValueGeneratedOnAdd(); modelBuilder.Entity() .HasOne(p => p.Restaurant) .WithOne(b => b.Owner); // // Restoraunt // modelBuilder.Entity().Property(x => x.Id).IsRequired().ValueGeneratedOnAdd(); modelBuilder.Entity() .HasOne(p => p.Owner) .WithOne(b => b.Restaurant) .HasForeignKey(k => k.OwnerFk); modelBuilder.Entity() .HasMany(p => p.Reservations) .WithOne(b => b.Restaurant); // // Reservation // modelBuilder.Entity().Property(x => x.Id).IsRequired().ValueGeneratedOnAdd(); modelBuilder.Entity() .HasOne(p => p.Restaurant) .WithMany(b => b.Reservations); } } }