// This file has been auto generated by EF Core Power Tools. #nullable enable using System; using System.Collections.Generic; using MVC_SimpleCRUD_Layered.Data.Models; using Microsoft.EntityFrameworkCore; namespace MVC_SimpleCRUD_Layered.Data.Data.Postgres; public partial class EventsContext : DbContext { public EventsContext(DbContextOptions options) : base(options) { } public virtual DbSet Countries { get; set; } public virtual DbSet Events { get; set; } public virtual DbSet People { get; set; } public virtual DbSet Registrations { get; set; } public virtual DbSet Sports { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(entity => { entity.HasKey(e => e.Code).HasName("country_pkey"); entity.ToTable("country"); entity.HasIndex(e => e.Name, "country_name_key").IsUnique(); entity.Property(e => e.Code) .HasMaxLength(3) .HasColumnName("code"); entity.Property(e => e.Alpha3) .HasMaxLength(3) .IsFixedLength() .HasColumnName("alpha3"); entity.Property(e => e.Name) .HasMaxLength(100) .HasColumnName("name"); entity.Property(e => e.Translations) .HasColumnType("jsonb") .HasColumnName("translations"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("event_pkey"); entity.ToTable("event"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.EventDate).HasColumnName("event_date"); entity.Property(e => e.Name) .HasMaxLength(150) .HasColumnName("name"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("person_pkey"); entity.ToTable("person"); entity.HasIndex(e => new { e.DocumentNumber, e.CountryCode }, "person_document_number_country_code_key").IsUnique(); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.AddressCountry) .HasMaxLength(100) .HasColumnName("address_country"); entity.Property(e => e.AddressLine) .HasMaxLength(200) .HasColumnName("address_line"); entity.Property(e => e.BirthDate).HasColumnName("birth_date"); entity.Property(e => e.City) .HasMaxLength(100) .HasColumnName("city"); entity.Property(e => e.ContactPhone) .HasMaxLength(50) .HasColumnName("contact_phone"); entity.Property(e => e.CountryCode) .HasMaxLength(3) .HasColumnName("country_code"); entity.Property(e => e.DocumentNumber) .HasMaxLength(50) .HasColumnName("document_number"); entity.Property(e => e.Email) .HasMaxLength(255) .HasColumnName("email"); entity.Property(e => e.FirstName) .HasMaxLength(100) .HasColumnName("first_name"); entity.Property(e => e.FirstNameTranscription) .HasMaxLength(100) .HasColumnName("first_name_transcription"); entity.Property(e => e.LastName) .HasMaxLength(100) .HasColumnName("last_name"); entity.Property(e => e.LastNameTranscription) .HasMaxLength(100) .HasColumnName("last_name_transcription"); entity.Property(e => e.PostalCode) .HasMaxLength(20) .HasColumnName("postal_code"); entity.HasOne(d => d.CountryCodeNavigation).WithMany(p => p.People) .HasForeignKey(d => d.CountryCode) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("person_country_code_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("registration_pkey"); entity.ToTable("registration"); entity.HasIndex(e => new { e.PersonId, e.SportId, e.EventId }, "registration_person_id_sport_id_event_id_key").IsUnique(); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.EventId).HasColumnName("event_id"); entity.Property(e => e.PersonId).HasColumnName("person_id"); entity.Property(e => e.RegisteredAt) .HasDefaultValueSql("CURRENT_TIMESTAMP") .HasColumnName("registered_at"); entity.Property(e => e.SportId).HasColumnName("sport_id"); entity.HasOne(d => d.Event).WithMany(p => p.Registrations) .HasForeignKey(d => d.EventId) .HasConstraintName("registration_event_id_fkey"); entity.HasOne(d => d.Person).WithMany(p => p.Registrations) .HasForeignKey(d => d.PersonId) .HasConstraintName("registration_person_id_fkey"); entity.HasOne(d => d.Sport).WithMany(p => p.Registrations) .HasForeignKey(d => d.SportId) .HasConstraintName("registration_sport_id_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("sport_pkey"); entity.ToTable("sport"); entity.HasIndex(e => e.Name, "sport_name_key").IsUnique(); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Name) .HasMaxLength(100) .HasColumnName("name"); }); OnModelCreatingPartial(modelBuilder); } partial void OnModelCreatingPartial(ModelBuilder modelBuilder); }