NavMenuItemConfiguration.cs 1.1 KB

1234567891011121314151617181920212223
  1. using Domain.Entities.Common;
  2. using Microsoft.EntityFrameworkCore;
  3. using Microsoft.EntityFrameworkCore.Metadata.Builders;
  4. namespace Infrastructure.Persistence.Configurations.Common;
  5. public sealed class NavMenuItemConfiguration : IEntityTypeConfiguration<NavMenuItem>
  6. {
  7. public void Configure(EntityTypeBuilder<NavMenuItem> builder)
  8. {
  9. builder.HasIndex(x => x.SortOrder);
  10. builder.ToTable(nameof(NavMenuItem), t => t.HasComment("상단 내비게이션 메뉴"));
  11. builder.HasKey(x => x.ID);
  12. builder.Property(x => x.ID).ValueGeneratedOnAdd().HasComment("PK");
  13. builder.Property(x => x.Label).HasMaxLength(50).IsRequired().HasComment("메뉴 명");
  14. builder.Property(x => x.Href).HasMaxLength(200).IsRequired().HasComment("링크 주소");
  15. builder.Property(x => x.SortOrder).IsRequired().HasComment("정렬 순서");
  16. builder.Property(x => x.IsVisible).IsRequired().HasComment("노출 여부");
  17. builder.Property(x => x.UpdatedAt).IsRequired().HasComment("수정 일시");
  18. builder.Property(x => x.CreatedAt).IsRequired().HasComment("등록 일시");
  19. }
  20. }