using back.DataModels; using Microsoft.EntityFrameworkCore; namespace back.persistance.data.relations; public class UserRelationEstablisher : IRelationEstablisher { public void EstablishRelation(ModelBuilder modelBuilder) { modelBuilder.Entity(entity => { entity.HasOne(d => d.IdNavigation).WithOne(p => p.User) .HasForeignKey(d => d.Id) .OnDelete(DeleteBehavior.ClientSetNull); entity.HasMany(d => d.Roles).WithMany(p => p.Users) .UsingEntity>( "UserRole", r => r.HasOne().WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.ClientSetNull), l => l.HasOne().WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.ClientSetNull), j => { j.HasKey("UserId", "RoleId"); j.ToTable("UserRoles"); }); }); } }