using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using Nuuru.Server.Models.Booru; namespace Nuuru.Server.Data.EntityConfigurations { public class CommentMentionConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.HasKey(cm => new { cm.CommentId, cm.MentionedUserId }); builder.HasOne(cm => cm.Comment) .WithMany(c => c.Mentions) .HasForeignKey(cm => cm.CommentId) .OnDelete(DeleteBehavior.Cascade); // Cascade delete: when mentioned user is deleted, remove mention records builder.HasOne(cm => cm.MentionedUser) .WithMany() .HasForeignKey(cm => cm.MentionedUserId) .OnDelete(DeleteBehavior.Cascade); builder.HasIndex(cm => cm.MentionedUserId); } } }