using KoogleApp.Entities; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace Koogle.Infrastructure.Data.Configurations { public class PlayerConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { // Tabellennamen builder.ToTable("Players"); // Primärschlüssel builder.HasKey(e => e.Id); // Eigenschaften builder.Property(e => e.Name).IsRequired().HasMaxLength(200); //entity.Property(e => e.Description).HasMaxLength(1000); //builder.Property(e => e.ModifiedBy).HasMaxLength(100); // Indizes builder.HasIndex(g => g.IsDeleted); // Beziehungen // 1:n Beziehung zu Positionen builder.HasMany(e => e.Expenses) .WithOne(p => p.Player) .HasForeignKey(p => p.PlayerId) .OnDelete(DeleteBehavior.Cascade); // Cascade Delete } } }