using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using Mws.Domain.Projects; namespace Mws.Infrastructure.Persistence.Configuration; public class ProjectMemberPermissionConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder e) { e.ToTable("project_member_permissions"); e.HasKey(p => new { p.ProjectId, p.UserId, p.Screen }); e.Property(p => p.Screen).HasMaxLength(50).IsRequired(); e.HasOne() .WithMany() .HasForeignKey(p => new { p.ProjectId, p.UserId }) .OnDelete(DeleteBehavior.Cascade); } }