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 Microsoft.EntityFrameworkCore; namespace Infrastructure.Persistence { public sealed class AppDbContext : DbContext, IAppDbContext { public AppDbContext(DbContextOptions options) : base(options) { } public DbSet Config { get; set; } 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; } public DbSet MemberGrade { get; set; } public DbSet MemberApprove { get; set; } public DbSet Channel { get; set; } // Member Logs public DbSet Member { 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; } protected override void OnModelCreating(ModelBuilder modelBuilder) { // Apply all configurations from the current assembly modelBuilder.ApplyConfigurationsFromAssembly(typeof(AppDbContext).Assembly); } } }