using Govor.Core.Models; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace Govor.Data.Configurations; public class ChatGroupConfigurator : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.HasKey(e => e.Id); builder.Property(e => e.Name).IsRequired().HasMaxLength(100); builder.Property(e => e.Description).HasMaxLength(500); builder.HasMany(e => e.Members) .WithOne() .HasForeignKey(e => e.GroupId) .OnDelete(DeleteBehavior.Cascade); builder.HasMany(e => e.Admins) .WithOne() .HasForeignKey(e => e.GroupId) .OnDelete(DeleteBehavior.Cascade); builder.HasMany(e => e.InviteCodes) .WithOne() .HasForeignKey(e => e.GroupId) .OnDelete(DeleteBehavior.Cascade); } }