using System; using System.Collections.Generic; using Microsoft.EntityFrameworkCore; using WebApi.Models; namespace WebApi.Data; public partial class WebApiContext : DbContext { public WebApiContext(DbContextOptions options) : base(options) { } public virtual DbSet Allergies { get; set; } public virtual DbSet Bestellungspositions { get; set; } public virtual DbSet Kundes { get; set; } public virtual DbSet Menuitems { get; set; } public virtual DbSet Menuitemkategories { get; set; } public virtual DbSet Menuitemueberkategories { get; set; } public virtual DbSet Rabatts { get; set; } public virtual DbSet MenuitemHasAllergie { get; set; } public virtual DbSet Admins { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder .UseCollation("utf8_general_ci") .HasCharSet("utf8"); modelBuilder.Entity(entity => { entity.HasKey(e => e.Idallergie).HasName("PRIMARY"); entity.ToTable("allergie"); entity.Property(e => e.Idallergie) .ValueGeneratedNever() .HasColumnType("int(11)") .HasColumnName("IDAllergie"); entity.Property(e => e.Beschreibung).HasMaxLength(45); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Idbestellung).HasName("PRIMARY"); entity.ToTable("bestellungsposition"); entity.HasIndex(e => e.KundeIdkunde, "fk_Bestellung_Kunde"); entity.HasIndex(e => e.RabattIdrabatt, "fk_Bestellungsposition_Rabatt1"); entity.Property(e => e.Idbestellung) .ValueGeneratedNever() .HasColumnType("int(11)") .HasColumnName("IDBestellung"); entity.Property(e => e.Datum).HasColumnType("datetime"); entity.Property(e => e.KundeIdkunde) .HasColumnType("int(11)") .HasColumnName("Kunde_IDKunde"); entity.Property(e => e.Menge).HasColumnType("int(11)"); entity.Property(e => e.RabattIdrabatt) .HasColumnType("int(11)") .HasColumnName("Rabatt_IDRabatt"); entity.HasOne(d => d.KundeIdkundeNavigation).WithMany(p => p.Bestellungspositions) .HasForeignKey(d => d.KundeIdkunde) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_Bestellung_Kunde"); entity.HasOne(d => d.RabattIdrabattNavigation).WithMany(p => p.Bestellungspositions) .HasForeignKey(d => d.RabattIdrabatt) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_Bestellungsposition_Rabatt1"); entity.HasMany(d => d.MenuItemIdmenuItems).WithMany(p => p.BestellungspositionIdbestellungs) .UsingEntity>( "BestellungspositionHasMenuitem", r => r.HasOne().WithMany() .HasForeignKey("MenuItemIdmenuItem") .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_Bestellungsposition_has_MenuItem_MenuItem1"), l => l.HasOne().WithMany() .HasForeignKey("BestellungspositionIdbestellung") .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_Bestellungsposition_has_MenuItem_Bestellungsposition1"), j => { j.HasKey("BestellungspositionIdbestellung", "MenuItemIdmenuItem") .HasName("PRIMARY") .HasAnnotation("MySql:IndexPrefixLength", new[] { 0, 0 }); j.ToTable("bestellungsposition_has_menuitem"); j.HasIndex(new[] { "MenuItemIdmenuItem" }, "fk_Bestellungsposition_has_MenuItem_MenuItem1"); j.IndexerProperty("BestellungspositionIdbestellung") .HasColumnType("int(11)") .HasColumnName("Bestellungsposition_IDBestellung"); j.IndexerProperty("MenuItemIdmenuItem") .HasColumnType("int(11)") .HasColumnName("MenuItem_IDMenuItem"); }); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Idkunde).HasName("PRIMARY"); entity.ToTable("kunde"); entity.Property(e => e.Idkunde) .ValueGeneratedNever() .HasColumnType("int(11)") .HasColumnName("IDKunde"); entity.Property(e => e.Code) .HasMaxLength(45) .HasColumnName("code"); entity.Property(e => e.Treuepunkte).HasColumnType("int(11)"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.IdmenuItem).HasName("PRIMARY"); entity.ToTable("menuitem"); entity.HasIndex(e => e.MenuItemKategorieIdmenuItemKategorie, "fk_MenuItem_MenuItemKategorie1"); entity.Property(e => e.IdmenuItem) .ValueGeneratedNever() .HasColumnType("int(11)") .HasColumnName("IDMenuItem"); entity.Property(e => e.Bezeichnung).HasMaxLength(45); entity.Property(e => e.MenuItemKategorieIdmenuItemKategorie) .HasColumnType("int(11)") .HasColumnName("MenuItemKategorie_IDMenuItemKategorie"); entity.Property(e => e.Preis).HasPrecision(8, 2); entity.Property(e => e.Zusatzinformation).HasMaxLength(45); entity.HasOne(d => d.MenuItemKategorieIdmenuItemKategorieNavigation).WithMany(p => p.Menuitems) .HasForeignKey(d => d.MenuItemKategorieIdmenuItemKategorie) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_MenuItem_MenuItemKategorie1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.IdmenuItemKategorie).HasName("PRIMARY"); entity.ToTable("menuitemkategorie"); entity.HasIndex(e => e.MenuItemUeberkategorieIdmenuItemUeberkategorie, "fk_MenuItemKategorie_MenuItemUeberkategorie1"); entity.Property(e => e.IdmenuItemKategorie) .ValueGeneratedNever() .HasColumnType("int(11)") .HasColumnName("IDMenuItemKategorie"); entity.Property(e => e.Bezeichnung).HasMaxLength(45); entity.Property(e => e.MenuItemUeberkategorieIdmenuItemUeberkategorie) .HasColumnType("int(11)") .HasColumnName("MenuItemUeberkategorie_IDMenuItemUeberkategorie"); entity.HasOne(d => d.MenuItemUeberkategorieIdmenuItemUeberkategorieNavigation).WithMany(p => p.Menuitemkategories) .HasForeignKey(d => d.MenuItemUeberkategorieIdmenuItemUeberkategorie) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_MenuItemKategorie_MenuItemUeberkategorie1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.IdmenuItemUeberkategorie).HasName("PRIMARY"); entity.ToTable("menuitemueberkategorie"); entity.Property(e => e.IdmenuItemUeberkategorie) .ValueGeneratedNever() .HasColumnType("int(11)") .HasColumnName("IDMenuItemUeberkategorie"); entity.Property(e => e.Bezeichnung).HasMaxLength(45); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Idrabatt).HasName("PRIMARY"); entity.ToTable("rabatt"); entity.Property(e => e.Idrabatt) .ValueGeneratedNever() .HasColumnType("int(11)") .HasColumnName("IDRabatt"); entity.Property(e => e.GueltigkeitBis).HasColumnType("datetime"); entity.Property(e => e.GueltigkeitVon).HasColumnType("datetime"); entity.Property(e => e.Prozent).HasPrecision(8, 2); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.ToTable("admin"); entity.Property(e => e.Id) .ValueGeneratedNever() .HasColumnType("int(11)") .HasColumnName("Id"); entity.Property(e => e.Username).HasMaxLength(100); entity.Property(e => e.Password).HasMaxLength(100); }); //modelBuilder.Entity(entity => //{ // entity.HasKey(e => new { e.BestellungspositionId, e.MenuitemId }) // .HasName("PRIMARY"); // entity.ToTable("bestellungsposition_has_menuitem"); // entity.Property(e => e.BestellungspositionId).HasColumnType("int(11)"); // entity.Property(e => e.MenuitemId).HasColumnType("int(11)"); //}); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.MenuItem_IDMenuItem, e.Allergie_IDAllergie }) .HasName("PRIMARY"); entity.ToTable("menuitem_has_allergie"); entity.Property(e => e.MenuItem_IDMenuItem).HasColumnType("int(11)"); entity.Property(e => e.Allergie_IDAllergie).HasColumnType("int(11)"); }); OnModelCreatingPartial(modelBuilder); } partial void OnModelCreatingPartial(ModelBuilder modelBuilder); }