using BMA.EHR.Recruit.Service.Models.Documents; using BMA.EHR.Recruit.Service.Models.Recruits; using Microsoft.EntityFrameworkCore; namespace BMA.EHR.Recruit.Service.Data { public class ApplicationDbContext : DbContext { public ApplicationDbContext(DbContextOptions options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { // recruit relation setup modelBuilder.Entity().HasMany(x => x.Recruits).WithOne(x => x.RecruitImport).OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().HasMany(x => x.Educations).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().HasMany(x => x.Occupations).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().HasMany(x => x.Addresses).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().HasMany(x => x.Certificates).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().HasMany(x => x.Payments).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade); } public DbSet Documents { get; set; } public DbSet RecruitImports { get; set; } public DbSet Recruits { get; set; } public DbSet RecruitAddresses { get; set; } public DbSet RecruitOccupations { get; set; } public DbSet RecruitCertificates { get; set; } public DbSet RecruitEducations { get; set; } public DbSet ScoreImports { get; set; } public DbSet RecruitScores { get; set; } public DbSet RecruitPayments { get; set; } public DbSet RecruitDocuments { get; set; } public DbSet RecruitImportHistories { get; set; } public DbSet RecruitImportDocuments { get; set; } public DbSet RecruitImportImages { get; set; } } }