hrms-api-recruit/Data/ApplicationDbContext.cs

53 lines
2.3 KiB
C#

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<ApplicationDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// recruit relation setup
modelBuilder.Entity<RecruitImport>().HasMany(x => x.Recruits).WithOne(x => x.RecruitImport).OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<Models.Recruits.Recruit>().HasMany(x => x.Educations).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<Models.Recruits.Recruit>().HasMany(x => x.Occupations).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<Models.Recruits.Recruit>().HasMany(x => x.Addresses).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<Models.Recruits.Recruit>().HasMany(x => x.Certificates).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<Models.Recruits.Recruit>().HasMany(x => x.Payments).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade);
}
public DbSet<Document> Documents { get; set; }
public DbSet<RecruitImport> RecruitImports { get; set; }
public DbSet<Models.Recruits.Recruit> Recruits { get; set; }
public DbSet<RecruitAddress> RecruitAddresses { get; set; }
public DbSet<RecruitOccupation> RecruitOccupations { get; set; }
public DbSet<RecruitCertificate> RecruitCertificates { get; set; }
public DbSet<RecruitEducation> RecruitEducations { get; set; }
public DbSet<ScoreImport> ScoreImports { get; set; }
public DbSet<RecruitScore> RecruitScores { get; set; }
public DbSet<RecruitPayment> RecruitPayments { get; set; }
public DbSet<RecruitDocument> RecruitDocuments { get; set; }
public DbSet<RecruitImportHistory> RecruitImportHistories { get; set; }
public DbSet<RecruitImportDocument> RecruitImportDocuments { get; set; }
public DbSet<RecruitImportImage> RecruitImportImages { get; set; }
}
}