DerivRedemptionConfiguration.cs 1.3 KB

12345678910111213141516171819202122
  1. using Domain.Entities.Stocks;
  2. using Microsoft.EntityFrameworkCore;
  3. using Microsoft.EntityFrameworkCore.Metadata.Builders;
  4. namespace Infrastructure.Persistence.Configurations.Stocks;
  5. public sealed class DerivRedemptionConfiguration : IEntityTypeConfiguration<DerivRedemption>
  6. {
  7. public void Configure(EntityTypeBuilder<DerivRedemption> builder)
  8. {
  9. builder.ToTable(nameof(DerivRedemption), t => t.HasComment("SEIBro 파생결합증권 상환종목 (getRedIsinInfo) — 상환일별 상환종목·수량. RedDt×종류 날짜 스윕"));
  10. builder.HasKey(x => x.ID);
  11. builder.HasIndex(x => new { x.Isin, x.RedDt, x.DerisecExerTpcd }).IsUnique();
  12. builder.HasIndex(x => x.RedDt);
  13. builder.Property(x => x.Isin).HasMaxLength(12).IsRequired().HasComment("종목코드 (ISIN)");
  14. builder.Property(x => x.DerisecExerTpcd).HasMaxLength(1).IsRequired().HasComment("파생증권권리행사구분코드 (DERISEC_EXER_TPCD) — 2만기 3조기");
  15. builder.Property(x => x.RedQty).HasColumnType("decimal(20,2)").HasComment("상환수량 (RED_QTY)");
  16. builder.Property(x => x.RedDt).IsRequired().HasComment("상환일자 (RED_DT, 스탬핑)");
  17. builder.Property(x => x.SecnKacd).HasMaxLength(4).IsRequired().HasComment("종목종류코드 (SECN_KACD, 스탬핑) — 4101ELS 4102ELB 4301DLS 4302DLB");
  18. }
  19. }