using ErsatzTV.Core.Domain; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace ErsatzTV.Infrastructure.Data.Configurations; public class PlaylistConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.ToTable("Playlist"); builder.Property(p => p.Name) .HasMaxLength(50) .HasColumnType("varchar(50)"); builder.HasIndex(p => new { p.PlaylistGroupId, p.Name }) .IsUnique(); builder.HasMany(p => p.Items) .WithOne(pi => pi.Playlist) .HasForeignKey(pi => pi.PlaylistId) .OnDelete(DeleteBehavior.Cascade); } }