using BMA.EHR.Recurit.Exam.Service.Models; using BMA.EHR.Recurit.Exam.Service.Models.Disables; using BMA.EHR.Recurit.Exam.Service.Models.Documents; using Microsoft.EntityFrameworkCore; namespace BMA.EHR.Recurit.Exam.Service.Data { public class ApplicationDbContext : DbContext { public ApplicationDbContext(DbContextOptions options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { // disable relation setup modelBuilder.Entity().HasMany(x => x.Disables).WithOne(x => x.PeriodExam).OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().HasMany(x => x.Educations).WithOne(x => x.Disable).OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().HasMany(x => x.Occupations).WithOne(x => x.Disable).OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().HasMany(x => x.Addresses).WithOne(x => x.Disable).OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().HasMany(x => x.Certificates).WithOne(x => x.Disable).OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().HasMany(x => x.Payments).WithOne(x => x.Disable).OnDelete(DeleteBehavior.Cascade); } // public DbSet Prefixes { get; set; } // public DbSet Religions { get; set; } // public DbSet Relationships { get; set; } // public DbSet EducationLevels { get; set; } // public DbSet Provinces { get; set; } // public DbSet Districts { get; set; } // public DbSet SubDistricts { get; set; } public DbSet PeriodExams { get; set; } public DbSet Candidates { get; set; } public DbSet Careers { get; set; } public DbSet Educations { get; set; } public DbSet Documents { get; set; } public DbSet CandidateDocuments { get; set; } public DbSet PositionExams { get; set; } public DbSet BankExams { get; set; } public DbSet PeriodExamDocuments { get; set; } public DbSet PeriodExamImages { get; set; } public DbSet PeriodExamBarCodes { get; set; } public DbSet PeriodExamQrCodes { get; set; } public DbSet CMSCandidates { get; set; } public DbSet CMSAgencys { get; set; } public DbSet CMSGovernments { get; set; } public DbSet Disables { get; set; } public DbSet DisableAddresses { get; set; } public DbSet DisableOccupations { get; set; } public DbSet DisableCertificates { get; set; } public DbSet DisableEducations { get; set; } public DbSet ScoreImports { get; set; } public DbSet DisableScores { get; set; } public DbSet DisablePayments { get; set; } public DbSet DisableDocuments { get; set; } public DbSet DisableImportHistories { get; set; } } }