添加项目文件。

This commit is contained in:
SpecialX
2025-05-23 19:03:00 +08:00
parent 6fa7679fd3
commit d36fef2bbb
185 changed files with 13413 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
using Entities.Contracts;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Microsoft.EntityFrameworkCore;
namespace TechHelper.Context.Configuration
{
public class AssignmentAttachmentConfiguration : IEntityTypeConfiguration<AssignmentAttachment>
{
public void Configure(EntityTypeBuilder<AssignmentAttachment> builder)
{
builder.ToTable("assignment_attachments");
builder.HasKey(aa => aa.Id);
builder.Property(aa => aa.Id)
.HasColumnName("id");
builder.Property(aa => aa.AssignmentId)
.HasColumnName("assignment_id")
.IsRequired();
builder.Property(aa => aa.FilePath)
.HasColumnName("file_path")
.IsRequired()
.HasMaxLength(255);
builder.Property(aa => aa.FileName)
.HasColumnName("file_name")
.IsRequired()
.HasMaxLength(255);
builder.Property(aa => aa.UploadedAt)
.HasColumnName("uploaded_at")
.ValueGeneratedOnAdd(); // Set value on creation
builder.Property(aa => aa.IsDeleted)
.HasColumnName("deleted")
.HasDefaultValue(false);
// Configure the relationship explicitly
builder.HasOne(aa => aa.Assignment) // An AssignmentAttachment has one Assignment
.WithMany(a => a.AssignmentAttachments) // An Assignment has many AssignmentAttachments (assuming 'Attachments' collection in Assignment)
.HasForeignKey(aa => aa.AssignmentId) // The foreign key is AssignmentAttachment.AssignmentId
.IsRequired() // It's a required relationship based on your [Required] attribute
.OnDelete(DeleteBehavior.Cascade); // If an Assignment is deleted, its attachments should also be deleted
}
}
}