using Domain.Entities.Stocks; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace Infrastructure.Persistence.Configurations.Stocks; public sealed class BondInterestPaymentConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.ToTable(nameof(BondInterestPayment), t => t.HasComment("SEIBro 채권 이자지급 정보 (getIntPayInfo) — 이자지급 주기·방식·직전/차기 이표일. PK Isin 스냅샷")); builder.HasKey(x => x.Isin); builder.Property(x => x.Isin).HasMaxLength(12).HasComment("종목코드 (ISIN, 요청값 스탬핑)"); builder.Property(x => x.CouponRate).HasColumnType("decimal(15,10)").HasComment("표면이자율 (COUPON_RATE)"); builder.Property(x => x.IntPayWayTpcd).HasMaxLength(1).HasComment("이자지급방법구분코드 (INT_PAY_WAY_TPCD)"); builder.Property(x => x.IntPayCycleTerms).HasComment("이자지급주기기간수 (INT_PAY_CYCLE_TERMS)"); builder.Property(x => x.IntPayCycleTpcd).HasMaxLength(2).HasComment("이자지급주기구분코드 (INT_PAY_CYCLE_TPCD)"); builder.Property(x => x.RvltSeverTpcd).HasMaxLength(1).HasComment("절상절사구분코드 (RVLT_SEVER_TPCD)"); builder.Property(x => x.AcrintPayYn).HasComment("경과이자지급여부 (ACRINT_PAY_YN)"); builder.Property(x => x.BankHolidayIntPaydayTpcd).HasMaxLength(1).HasComment("은행휴무일이자지급일구분코드 (BANK_HOLIDAY_INT_PAYDD_TPCD)"); builder.Property(x => x.IntPayTimsTpcd).HasMaxLength(2).HasComment("이자지급시기구분코드 (INT_PAY_TIMS_TPCD)"); builder.Property(x => x.BeforeDate).HasComment("직전이표일 (BEFORE_DATE)"); builder.Property(x => x.AfterDate).HasComment("차기이표일 (AFTER_DATE)"); } }