using HN.Domain; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace HN.Infrastructure.EntityTypes { public sealed class LinkEntityType : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.ToTable("links"); builder.HasKey(o => o.Id); builder.Property(o => o.Url).IsRequired().HasMaxLength(500); builder.Property(o => o.CreatedAt).IsRequired(); builder.HasIndex(o => o.Url).IsUnique(); builder.HasMany(o => o.Votes) .WithOne() .HasForeignKey("LinkId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); } } }