| 123456789101112131415161718192021222324 |
- using Domain.Entities.Members;
- using Microsoft.EntityFrameworkCore;
- using Microsoft.EntityFrameworkCore.Metadata.Builders;
- namespace Infrastructure.Persistence.Configurations.Members;
- public sealed class ChannelBroadcastStatsConfiguration : IEntityTypeConfiguration<ChannelBroadcastStats>
- {
- public void Configure(EntityTypeBuilder<ChannelBroadcastStats> builder)
- {
- builder.HasOne(x => x.Channel).WithMany().HasForeignKey(x => x.ChannelID).OnDelete(DeleteBehavior.Cascade);
- builder.ToTable(nameof(ChannelBroadcastStats), x => x.HasComment("채널별 누적 방송 지표"));
- builder.HasKey(x => x.ChannelID);
- builder.Property(x => x.ChannelID).ValueGeneratedNever().HasComment("채널 ID");
- builder.Property(x => x.TotalDurationSec).IsRequired().HasComment("누적 방송 시간 (초)");
- builder.Property(x => x.CumulativeViews).IsRequired().HasComment("누적 조회수");
- builder.Property(x => x.TotalLikes).IsRequired().HasComment("누적 좋아요");
- builder.Property(x => x.SessionCount).IsRequired().HasComment("방송 횟수");
- builder.Property(x => x.LastBroadcastAt).HasComment("마지막 방송 일시");
- builder.Property(x => x.LastAggregatedAt).HasComment("마지막 집계 일시");
- builder.Property(x => x.CreatedAt).IsRequired().HasComment("생성 일시");
- }
- }
|