补考增强

This commit is contained in:
2026-07-25 19:38:39 +08:00 Unverified
parent 44e90ae35f
commit 1da6543a38
7 changed files with 714 additions and 10 deletions
@@ -61,6 +61,7 @@ public sealed class AppDbContext(DbContextOptions<AppDbContext> options)
Set<MakeupExamSessionInvigilator>();
public DbSet<MakeupExamEnrollment> MakeupExamEnrollments =>
Set<MakeupExamEnrollment>();
public DbSet<MakeupExamAutoJob> MakeupExamAutoJobs => Set<MakeupExamAutoJob>();
public DbSet<CourseAdjustment> CourseAdjustments => Set<CourseAdjustment>();
public DbSet<CourseExemption> CourseExemptions => Set<CourseExemption>();
public DbSet<DeferredExam> DeferredExams => Set<DeferredExam>();
@@ -650,6 +651,14 @@ public sealed class AppDbContext(DbContextOptions<AppDbContext> options)
entity.HasOne(x => x.SourceDeferredExam).WithMany()
.HasForeignKey(x => x.SourceDeferredExamId).OnDelete(DeleteBehavior.SetNull);
});
builder.Entity<MakeupExamAutoJob>(entity =>
{
entity.Property(x => x.ErrorMessage).HasMaxLength(2000);
entity.HasIndex(x => new { x.MakeupExamPlanId, x.CreatedAt });
entity.HasIndex(x => new { x.Status, x.CreatedAt });
entity.HasOne(x => x.MakeupExamPlan).WithMany()
.HasForeignKey(x => x.MakeupExamPlanId).OnDelete(DeleteBehavior.Cascade);
});
builder.Entity<StudentStatusChange>(entity =>
{
entity.Property(x => x.Reason).HasMaxLength(1000);