hrms-api-recruit/Data/ApplicationDbContext.cs
Suphonchai Phoonsawat f797ff3e50 first commit
2023-03-13 12:29:56 +07:00

47 lines
1.9 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; }
}
}