| 12345678910111213141516171819202122232425262728 |
- using Domain.Entities.Stocks;
- using Microsoft.EntityFrameworkCore;
- using Microsoft.EntityFrameworkCore.Metadata.Builders;
- namespace Infrastructure.Persistence.Configurations.Stocks;
- public sealed class StockIssuanceChangeConfiguration : IEntityTypeConfiguration<StockIssuanceChange>
- {
- public void Configure(EntityTypeBuilder<StockIssuanceChange> builder)
- {
- builder.ToTable(nameof(StockIssuanceChange), t => t.HasComment("SEIBro 주식증감내역 (getStkIncdecDetails) — 발행횟수별 주식수 변동(액면분할·증자·소각)"));
- builder.HasKey(x => x.ID);
- // 동일 발행횟수가 발행일·사유별로 여러 행일 수 있어 IssuDt·SecnIssuRacd 까지 포함 (plan (Isin,SecnIssuNtimes) 확장)
- builder.HasIndex(x => new { x.Isin, x.SecnIssuNtimes, x.IssuDt, x.SecnIssuRacd }).IsUnique();
- builder.HasIndex(x => x.IssuDt);
- builder.Property(x => x.IssucoCustno).HasComment("발행회사 고객번호 (ISSUCO_CUSTNO)");
- builder.Property(x => x.Isin).HasMaxLength(12).IsFixedLength().IsRequired().HasComment("종목번호 (ISIN)");
- builder.Property(x => x.SecnKacd).HasMaxLength(4).HasComment("종목종류코드 (SECN_KACD)");
- builder.Property(x => x.SecnIssuNtimes).IsRequired().HasComment("종목발행횟수 (SECN_ISSU_NTIMES)");
- builder.Property(x => x.IssuDt).IsRequired().HasComment("발행일자 (ISSU_DT)");
- builder.Property(x => x.Issuprc).HasPrecision(28, 10).HasComment("발행가 (ISSUPRC, 1주당)");
- builder.Property(x => x.IssuQty).HasComment("발행수량 (ISSU_QTY) — 감소는 음수");
- builder.Property(x => x.SecnIssuRacd).HasMaxLength(3).IsRequired().HasComment("종목발행사유코드 (SECN_ISSU_RACD)");
- builder.Property(x => x.SecnIssuNm).HasMaxLength(100).HasComment("종목발행사유명 (SECN_ISSU_NM)");
- builder.Property(x => x.ListDt).HasComment("상장일자 (LIST_DT)");
- }
- }
|