using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using SameBeat.Domain.Encje; namespace SameBeat.Infrastructure.BazaDanych.Konfiguracje; public class PozycjaPlaylistyKonfiguracja : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder budowniczy) { budowniczy.ToTable("PozycjePlaylisty"); budowniczy.HasKey(p => p.Id); budowniczy.Property(p => p.WydarzenieId).IsRequired(); budowniczy.Property(p => p.UtworId).IsRequired(); budowniczy.Property(p => p.Kolejnosc).IsRequired(); // Kolejnosc jest unikalna w ramach wydarzenia -- dodawanie na koniec zawsze liczy // nastepna wolna wartosc, nie ma dwoch pozycji z tym samym numerem. budowniczy.HasIndex(p => new { p.WydarzenieId, p.Kolejnosc }).IsUnique(); } }