using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using SameBeat.Domain.Encje; namespace SameBeat.Infrastructure.BazaDanych.Konfiguracje; public class SlotScenyKonfiguracja : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder budowniczy) { budowniczy.ToTable("SlotySceny"); budowniczy.HasKey(s => s.Id); budowniczy.Property(s => s.WydarzenieId).IsRequired(); budowniczy.Property(s => s.NumerSlotu).IsRequired(); budowniczy.Property(s => s.UczestnikOczekujacyId); // Jeden numer slotu ma co najwyzej jeden wiersz na wydarzenie -- wiersz jest tworzony raz przy // pierwszym przypisaniu i pozniej ponownie uzywany (Przypisz/Zwolnij), nie kasowany. budowniczy.HasIndex(s => new { s.WydarzenieId, s.NumerSlotu }).IsUnique(); } }