using Application.Abstractions.Data; using Domain.Entities.Common; using Domain.Entities.Members; using Domain.Entities.Members.Logs; using Domain.Entities.Page; using Domain.Entities.Page.Banner; using Domain.Entities.Page.Faq; using Domain.Entities.Wallets; using Domain.Entities.Forum.Boards; using Domain.Entities.Forum.Posts; using Domain.Entities.Forum.Comments; using Domain.Entities.Director; using Domain.Entities.Forum.Logs; using Microsoft.EntityFrameworkCore; namespace Infrastructure.Persistence { public sealed class AppDbContext : DbContext, IAppDbContext { public AppDbContext(DbContextOptions options) : base(options) { } // Admin public DbSet AdminLoginLog { get; set; } public DbSet AdminAccessLog { get; set; } // Config public DbSet Config { get; set; } // Page public DbSet Document { get; set; } public DbSet Popup { get; set; } public DbSet FaqCategory { get; set; } public DbSet FaqItem { get; set; } public DbSet BannerPosition { get; set; } public DbSet BannerItem { get; set; } // Member public DbSet Member { get; set; } public DbSet MemberGrade { get; set; } public DbSet MemberApprove { get; set; } public DbSet MemberLoginLog { get; set; } public DbSet MemberEmailChangeLog { get; set; } public DbSet MemberNameChangeLog { get; set; } public DbSet MemberSummaryChangeLog { get; set; } public DbSet MemberIntroChangeLog { get; set; } // Wallet public DbSet Wallet { get; set; } public DbSet WalletTransaction { get; set; } // Channel public DbSet Channel { get; set; } // �Խ��� public DbSet BoardGroup { get; set; } public DbSet Board { get; set; } public DbSet BoardMeta { get; set; } public DbSet BoardManager { get; set; } public DbSet BoardPrefix { get; set; } // �Խñ� public DbSet Post { get; set; } public DbSet PostImage { get; set; } public DbSet PostMedia { get; set; } public DbSet PostFile { get; set; } public DbSet PostLink { get; set; } public DbSet PostReaction { get; set; } public DbSet PostBookmark { get; set; } public DbSet PostReport { get; set; } public DbSet PostTag { get; set; } public DbSet Tag { get; set; } // ��� public DbSet Comment { get; set; } public DbSet CommentFile { get; set; } public DbSet CommentImage { get; set; } public DbSet CommentMedia { get; set; } public DbSet CommentLink { get; set; } public DbSet CommentReaction { get; set; } public DbSet CommentReport { get; set; } public DbSet CommentMention { get; set; } // �Խñ�/��� �α� public DbSet PostUpdateLog { get; set; } public DbSet PostFileDownLog { get; set; } public DbSet PostLinkClickLog { get; set; } public DbSet CommentUpdateLog { get; set; } public DbSet CommentFileDownLog { get; set; } public DbSet CommentLinkClickLog { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { // Apply all configurations from the current assembly modelBuilder.ApplyConfigurationsFromAssembly(typeof(AppDbContext).Assembly); } } }