DerivAssetConfiguration.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233
  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 DerivAssetConfiguration : IEntityTypeConfiguration<DerivAsset>
  6. {
  7. public void Configure(EntityTypeBuilder<DerivAsset> builder)
  8. {
  9. builder.ToTable(nameof(DerivAsset), t => t.HasComment("SEIBro 파생결합증권 기초자산 정보 (getAssetInfo) — 기초자산명·행사기준가·평가일. StndBassetCd 는 반환 원문(KSD31* 체계 가능)"));
  10. builder.HasKey(x => x.ID);
  11. builder.HasIndex(x => new { x.Isin, x.AssetSeq }).IsUnique();
  12. builder.HasIndex(x => x.StndBassetCd);
  13. builder.Property(x => x.Isin).HasMaxLength(12).IsRequired().HasComment("종목코드 (ISIN, 스탬핑)");
  14. builder.Property(x => x.AssetSeq).HasComment("자산일련번호 (ASSET_SEQ)");
  15. builder.Property(x => x.StndBassetCd).HasMaxLength(12).HasComment("표준기초자산코드 (STND_BASSET_CD) — 원문(KSD31*·KR7* 등)");
  16. builder.Property(x => x.StndBassetNm).HasMaxLength(200).HasComment("표준기초자산명 (STND_BASSET_NM)");
  17. builder.Property(x => x.XrcStdprc).HasColumnType("decimal(28,10)").HasComment("행사기준가 (XRC_STDPRC)");
  18. builder.Property(x => x.XrcStopLolmtRatio).HasColumnType("decimal(8,3)").HasComment("행사정지하한비율 (XRC_STOP_LOLMT_RATIO)");
  19. builder.Property(x => x.XrcStopLolmtPrice).HasColumnType("decimal(28,10)").HasComment("행사정지하한가격 (XRC_STOP_LOLMT_PRICE)");
  20. builder.Property(x => x.XrcStopUplmtRatio).HasColumnType("decimal(8,3)").HasComment("행사정지상한비율 (XRC_STOP_UPLMT_RATIO)");
  21. builder.Property(x => x.XrcStopUplmtPrice).HasColumnType("decimal(28,10)").HasComment("행사정지상한가격 (XRC_STOP_UPLMT_PRICE)");
  22. builder.Property(x => x.BassetFirstValatTpcd).HasMaxLength(1).HasComment("기초자산최초평가구분코드 (BASSET_FIRST_VALAT_TPCD)");
  23. builder.Property(x => x.BassetLastValatTpcd).HasMaxLength(1).HasComment("기초자산최종평가구분코드 (BASSET_LAST_VALAT_TPCD)");
  24. builder.Property(x => x.FirstStdprcDecsnBeginDt).HasComment("최초기준가결정시작일자 (FIRST_STDPRC_DECSN_BEGIN_DT)");
  25. builder.Property(x => x.FirstStdprcDecsnExpryDt).HasComment("최초기준가결정종료일자 (FIRST_STDPRC_DECSN_EXPRY_DT)");
  26. builder.Property(x => x.LastStdprcDecsnBeginDt).HasComment("최종기준가결정시작일자 (LAST_STDPRC_DECSN_BEGIN_DT)");
  27. builder.Property(x => x.LastStdprcDecsnExpryDt).HasComment("최종기준가결정종료일자 (LAST_STDPRC_DECSN_EXPRY_DT)");
  28. builder.Property(x => x.RvltSeverTpcd).HasMaxLength(1).HasComment("절상절사구분코드 (RVLT_SEVER_TPCD)");
  29. }
  30. }