in App/src/Events-TenantUserApp.EF/TenantsDB/TenantDbContext.cs [44:268]
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Countries>(entity =>
{
entity.HasKey(e => e.CountryCode)
.HasName("PK__Countrie__5D9B0D2D5E8496A7");
entity.HasIndex(e => new { e.CountryCode, e.Language })
.HasName("IX_Countries_Country_Language")
.IsUnique();
entity.Property(e => e.CountryCode).HasColumnType("char(3)");
entity.Property(e => e.CountryName)
.IsRequired()
.HasMaxLength(50);
entity.Property(e => e.Language)
.IsRequired()
.HasColumnType("char(8)")
.HasDefaultValueSql("'en'");
});
modelBuilder.Entity<Customers>(entity =>
{
entity.HasKey(e => e.CustomerId)
.HasName("PK__Customer__A4AE64D814038057");
entity.HasIndex(e => e.Email)
.HasName("IX_Customers_Email")
.IsUnique();
entity.Property(e => e.CountryCode)
.IsRequired()
.HasColumnType("char(3)");
entity.Property(e => e.Email)
.IsRequired()
.HasColumnType("varchar(50)");
entity.Property(e => e.FirstName)
.IsRequired()
.HasMaxLength(25);
entity.Property(e => e.LastName)
.IsRequired()
.HasMaxLength(25);
entity.Property(e => e.Password).HasMaxLength(30);
entity.Property(e => e.PostalCode).HasColumnType("char(10)");
entity.Property(e => e.RowVersion).ValueGeneratedOnAddOrUpdate();
entity.HasOne(d => d.CountryCodeNavigation)
.WithMany(p => p.Customers)
.HasForeignKey(d => d.CountryCode)
.OnDelete(DeleteBehavior.Restrict)
.HasConstraintName("FK_Customers_Countries");
});
modelBuilder.Entity<EventSections>(entity =>
{
entity.HasKey(e => new { e.EventId, e.SectionId })
.HasName("PK__EventSec__414A3897F9A72D7B");
entity.Property(e => e.Price).HasColumnType("money");
entity.HasOne(d => d.Event)
.WithMany(p => p.EventSections)
.HasForeignKey(d => d.EventId)
.HasConstraintName("FK_EventSections_Events");
entity.HasOne(d => d.Section)
.WithMany(p => p.EventSections)
.HasForeignKey(d => d.SectionId)
.OnDelete(DeleteBehavior.Restrict)
.HasConstraintName("FK_EventSections_Sections");
});
modelBuilder.Entity<Events>(entity =>
{
entity.HasKey(e => e.EventId)
.HasName("PK__Events__7944C81047DB4EF2");
entity.Property(e => e.Date).HasColumnType("datetime");
entity.Property(e => e.EventName)
.IsRequired()
.HasMaxLength(50);
entity.Property(e => e.Subtitle).HasMaxLength(50);
});
modelBuilder.Entity<Sections>(entity =>
{
entity.HasKey(e => e.SectionId)
.HasName("PK__Sections__80EF0872FD27B716");
entity.Property(e => e.SeatRows).HasDefaultValueSql("20");
entity.Property(e => e.SeatsPerRow).HasDefaultValueSql("30");
entity.Property(e => e.SectionName)
.IsRequired()
.HasMaxLength(30);
entity.Property(e => e.StandardPrice)
.HasColumnType("money")
.HasDefaultValueSql("10");
});
modelBuilder.Entity<TicketPurchases>(entity =>
{
entity.HasKey(e => e.TicketPurchaseId)
.HasName("PK__TicketPu__97683DD692530887");
entity.Property(e => e.PurchaseDate).HasColumnType("datetime");
entity.Property(e => e.PurchaseTotal).HasColumnType("money");
entity.Property(e => e.RowVersion).ValueGeneratedOnAddOrUpdate();
entity.HasOne(d => d.Customer)
.WithMany(p => p.TicketPurchases)
.HasForeignKey(d => d.CustomerId)
.OnDelete(DeleteBehavior.Restrict)
.HasConstraintName("FK_TicketPurchases_Customers");
});
modelBuilder.Entity<Tickets>(entity =>
{
entity.HasKey(e => e.TicketId)
.HasName("PK__Tickets__712CC60723C5191A");
entity.HasIndex(e => new { e.EventId, e.SectionId, e.RowNumber, e.SeatNumber })
.HasName("IX_Tickets")
.IsUnique();
entity.HasOne(d => d.TicketPurchase)
.WithMany(p => p.Tickets)
.HasForeignKey(d => d.TicketPurchaseId)
.HasConstraintName("FK_Tickets_TicketPurchases");
entity.HasOne(d => d.EventSections)
.WithMany(p => p.Tickets)
.HasForeignKey(d => new { d.EventId, d.SectionId })
.OnDelete(DeleteBehavior.Restrict)
.HasConstraintName("FK_Tickets_EventSections");
});
modelBuilder.Entity<Venue>(entity =>
{
entity.HasKey(e => e.Lock)
.HasName("PK_Venue");
entity.Property(e => e.Lock)
.HasColumnType("char(1)")
.HasDefaultValueSql("'X'");
entity.Property(e => e.AdminEmail)
.IsRequired()
.HasColumnType("varchar(50)");
entity.Property(e => e.AdminPassword).HasColumnType("nchar(30)");
entity.Property(e => e.CountryCode)
.IsRequired()
.HasColumnType("char(3)");
entity.Property(e => e.PostalCode).HasColumnType("char(10)");
entity.Property(e => e.VenueName)
.IsRequired()
.HasMaxLength(50);
entity.Property(e => e.VenueType)
.IsRequired()
.HasColumnType("char(30)");
entity.HasOne(d => d.CountryCodeNavigation)
.WithMany(p => p.Venue)
.HasForeignKey(d => d.CountryCode)
.OnDelete(DeleteBehavior.Restrict)
.HasConstraintName("FK_Venues_Countries");
entity.HasOne(d => d.VenueTypeNavigation)
.WithMany(p => p.Venue)
.HasForeignKey(d => d.VenueType)
.OnDelete(DeleteBehavior.Restrict)
.HasConstraintName("FK_Venues_VenueTypes");
});
modelBuilder.Entity<VenueTypes>(entity =>
{
entity.HasKey(e => e.VenueType)
.HasName("PK__VenueTyp__265E44FD9586CE48");
entity.HasIndex(e => new { e.VenueTypeName, e.Language })
.HasName("IX_VENUETYPES_VENUETYPENAME_LANGUAGE")
.IsUnique();
entity.Property(e => e.VenueType).HasColumnType("char(30)");
entity.Property(e => e.EventTypeName)
.IsRequired()
.HasMaxLength(30);
entity.Property(e => e.EventTypeShortName)
.IsRequired()
.HasMaxLength(20);
entity.Property(e => e.EventTypeShortNamePlural)
.IsRequired()
.HasMaxLength(20);
entity.Property(e => e.Language)
.IsRequired()
.HasColumnType("char(8)");
entity.Property(e => e.VenueTypeName)
.IsRequired()
.HasColumnType("nchar(30)");
});
}