using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using Mws.Domain.Projects; namespace Mws.Infrastructure.Persistence.Configuration; public class ProjectMemberConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder e) { e.ToTable("project_members"); e.HasKey(m => new { m.ProjectId, m.UserId }); e.Property(m => m.Role).HasConversion().HasMaxLength(20); e.HasOne(m => m.Project) .WithMany(p => p.Members) .HasForeignKey(m => m.ProjectId) .OnDelete(DeleteBehavior.Cascade); e.HasOne(m => m.User) .WithMany() .HasForeignKey(m => m.UserId) .OnDelete(DeleteBehavior.Cascade); } }