using Domain.Entities.Common; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace Infrastructure.Persistence.Configurations.Common; public sealed class NavMenuItemConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.HasIndex(x => x.SortOrder); builder.ToTable(nameof(NavMenuItem), t => t.HasComment("상단 내비게이션 메뉴")); builder.HasKey(x => x.ID); builder.Property(x => x.ID).ValueGeneratedOnAdd().HasComment("PK"); builder.Property(x => x.Label).HasMaxLength(50).IsRequired().HasComment("메뉴 명"); builder.Property(x => x.Href).HasMaxLength(200).IsRequired().HasComment("링크 주소"); builder.Property(x => x.SortOrder).IsRequired().HasComment("정렬 순서"); builder.Property(x => x.IsVisible).IsRequired().HasComment("노출 여부"); builder.Property(x => x.UpdatedAt).IsRequired().HasComment("수정 일시"); builder.Property(x => x.CreatedAt).IsRequired().HasComment("등록 일시"); } }