using System; using System.Collections.Generic; using Microsoft.EntityFrameworkCore; namespace kursovaya.Models; public partial class DatabaseContext : DbContext { public DatabaseContext() { } public DatabaseContext(DbContextOptions options) : base(options) { } public virtual DbSet Attestations { get; set; } public virtual DbSet Disciplines { get; set; } public virtual DbSet DisciplineTeachers { get; set; } public virtual DbSet FormAttests { get; set; } public virtual DbSet Groups { get; set; } public virtual DbSet Roles { get; set; } public virtual DbSet Students { get; set; } public virtual DbSet Teachers { get; set; } public virtual DbSet Users { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) #warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see https://go.microsoft.com/fwlink/?LinkId=723263. => optionsBuilder.UseNpgsql("Host=localhost;Database=postgres;Username=postgres;Password=5432"); protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(entity => { entity.HasKey(e => new { e.IdUser, e.IdDiscipline }).HasName("attestation_pkey"); entity.ToTable("attestation"); entity.Property(e => e.IdUser).HasColumnName("id_user"); entity.Property(e => e.IdDiscipline).HasColumnName("id_discipline"); entity.Property(e => e.AttestFirst).HasColumnName("attest_first"); entity.Property(e => e.AttestSecond).HasColumnName("attest_second"); entity.Property(e => e.AttestThird).HasColumnName("attest_third"); entity.Property(e => e.Grade) .HasMaxLength(255) .HasColumnName("grade"); entity.Property(e => e.Total).HasColumnName("total"); entity.HasOne(d => d.IdDisciplineNavigation).WithMany(p => p.Attestations) .HasForeignKey(d => d.IdDiscipline) .HasConstraintName("attestation_id_discipline_fkey"); entity.HasOne(d => d.IdUserNavigation).WithMany(p => p.Attestations) .HasForeignKey(d => d.IdUser) .HasConstraintName("attestation_id_user_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("discipline_pkey"); entity.ToTable("discipline"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.IdFormAttest).HasColumnName("id_form_attest"); entity.Property(e => e.Name) .HasMaxLength(255) .HasColumnName("name"); entity.HasOne(d => d.IdFormAttestNavigation).WithMany(p => p.Disciplines) .HasForeignKey(d => d.IdFormAttest) .HasConstraintName("discipline_id_form_attest_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("discipline_teachers_pkey"); entity.ToTable("discipline_teachers"); entity.HasIndex(e => new { e.IdDiscipline, e.IdTeacher }, "unique_discipline_teacher").IsUnique(); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.IdDiscipline).HasColumnName("id_discipline"); entity.Property(e => e.IdTeacher).HasColumnName("id_teacher"); entity.HasOne(d => d.IdDisciplineNavigation).WithMany(p => p.DisciplineTeachers) .HasForeignKey(d => d.IdDiscipline) .HasConstraintName("discipline_teachers_id_discipline_fkey"); entity.HasOne(d => d.IdTeacherNavigation).WithMany(p => p.DisciplineTeachers) .HasForeignKey(d => d.IdTeacher) .HasConstraintName("discipline_teachers_id_teacher_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("form_attest_pkey"); entity.ToTable("form_attest"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Name) .HasMaxLength(255) .HasColumnName("name"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("groups_pkey"); entity.ToTable("groups"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.YearAdmission).HasColumnName("year_admission"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("roles_pkey"); entity.ToTable("roles"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.RoleName) .HasMaxLength(255) .HasColumnName("role_name"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("students_pkey"); entity.ToTable("students"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Fio) .HasMaxLength(255) .HasColumnName("fio"); entity.Property(e => e.IdGroup).HasColumnName("id_group"); entity.Property(e => e.Login) .HasMaxLength(255) .HasColumnName("login"); entity.HasOne(d => d.IdGroupNavigation).WithMany(p => p.Students) .HasForeignKey(d => d.IdGroup) .HasConstraintName("students_id_group_fkey"); entity.HasOne(d => d.LoginNavigation).WithMany(p => p.Students) .HasPrincipalKey(p => p.Login) .HasForeignKey(d => d.Login) .HasConstraintName("students_login_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("teachers_pkey"); entity.ToTable("teachers"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Fio) .HasMaxLength(255) .HasColumnName("fio"); entity.Property(e => e.Login) .HasMaxLength(255) .HasColumnName("login"); entity.HasOne(d => d.LoginNavigation).WithMany(p => p.Teachers) .HasPrincipalKey(p => p.Login) .HasForeignKey(d => d.Login) .HasConstraintName("teachers_login_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("users_pkey"); entity.ToTable("users"); entity.HasIndex(e => e.Login, "login").IsUnique(); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Email) .HasMaxLength(255) .HasColumnName("email"); entity.Property(e => e.Login) .HasMaxLength(255) .HasColumnName("login"); entity.Property(e => e.Password) .HasMaxLength(255) .HasColumnName("password"); entity.Property(e => e.RoleId).HasColumnName("role_id"); entity.HasOne(d => d.Role).WithMany(p => p.Users) .HasForeignKey(d => d.RoleId) .HasConstraintName("users_role_id_fkey"); }); OnModelCreatingPartial(modelBuilder); } partial void OnModelCreatingPartial(ModelBuilder modelBuilder); }