using Domain.Entities.Stocks; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace Infrastructure.Persistence.Configurations.Stocks; public sealed class DerivIssuanceConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.ToTable(nameof(DerivIssuance), t => t.HasComment("SEIBro 파생결합증권 발행내역 (getDerivCombiIssuInfo) — ELS/ELB/DLS/DLB. DerivMaster rolling 발견 소스")); builder.HasKey(x => x.ID); builder.HasIndex(x => x.Isin).IsUnique(); builder.HasIndex(x => x.IssuDt); builder.HasIndex(x => x.SecnKacd); builder.Property(x => x.Isin).HasMaxLength(12).IsRequired().HasComment("종목코드 (ISIN)"); builder.Property(x => x.KorSecnNm).HasMaxLength(100).HasComment("한글종목명 (KOR_SECN_NM)"); builder.Property(x => x.IssucoCustno).HasComment("발행회사고객번호 (ISSUCO_CUSTNO)"); builder.Property(x => x.SecnKacd).HasMaxLength(4).IsRequired().HasComment("종목종류코드 (SECN_KACD, 스탬핑) — 4101ELS 4102ELB 4301DLS 4302DLB"); builder.Property(x => x.IssuDt).IsRequired().HasComment("발행일자 (ISSU_DT, 스탬핑)"); } }