AppDbContext.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. using Application.Abstractions.Data;
  2. using Domain.Entities.Common;
  3. using Domain.Entities.Crypto;
  4. using Domain.Entities.Members;
  5. using Domain.Entities.Members.Logs;
  6. using Domain.Entities.Page;
  7. using Domain.Entities.Page.Banner;
  8. using Domain.Entities.Page.Faq;
  9. using Domain.Entities.Wallets;
  10. using Domain.Entities.Forum.Boards;
  11. using Domain.Entities.Forum.Posts;
  12. using Domain.Entities.Forum.Comments;
  13. using Domain.Entities.Director;
  14. using Domain.Entities.EmailVerification;
  15. using Domain.Entities.Forum.Logs;
  16. using Domain.Entities.News;
  17. using Domain.Entities.Page.Popup;
  18. using Microsoft.EntityFrameworkCore;
  19. namespace Infrastructure.Persistence
  20. {
  21. public sealed class AppDbContext : DbContext, IAppDbContext
  22. {
  23. public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }
  24. // Admin
  25. public DbSet<AdminLoginLog> AdminLoginLog { get; set; }
  26. public DbSet<AdminAccessLog> AdminAccessLog { get; set; }
  27. // Crypto
  28. public DbSet<CoinCategory> CoinCategory { get; set; }
  29. public DbSet<Coin> Coin { get; set; }
  30. public DbSet<CoinCategoryMap> CoinCategoryMap { get; set; }
  31. public DbSet<CoinMarket> CoinMarket { get; set; }
  32. // Config
  33. public DbSet<Config> Config { get; set; }
  34. // Page
  35. public DbSet<Document> Document { get; set; }
  36. public DbSet<PopupPosition> PopupPosition { get; set; }
  37. public DbSet<Popup> Popup { get; set; }
  38. public DbSet<FaqCategory> FaqCategory { get; set; }
  39. public DbSet<FaqItem> FaqItem { get; set; }
  40. public DbSet<BannerPosition> BannerPosition { get; set; }
  41. public DbSet<BannerItem> BannerItem { get; set; }
  42. // Member
  43. public DbSet<Member> Member { get; set; }
  44. public DbSet<MemberStats> MemberStats { get; set; }
  45. public DbSet<MemberGrade> MemberGrade { get; set; }
  46. public DbSet<MemberApprove> MemberApprove { get; set; }
  47. public DbSet<MemberLoginLog> MemberLoginLog { get; set; }
  48. public DbSet<MemberEmailChangeLog> MemberEmailChangeLog { get; set; }
  49. public DbSet<MemberNameChangeLog> MemberNameChangeLog { get; set; }
  50. public DbSet<MemberSummaryChangeLog> MemberSummaryChangeLog { get; set; }
  51. public DbSet<MemberIntroChangeLog> MemberIntroChangeLog { get; set; }
  52. public DbSet<MemberExpLog> MemberExpLog { get; set; }
  53. public DbSet<Channel> Channel { get; set; }
  54. public DbSet<RefreshToken> RefreshToken { get; set; }
  55. // EmailVerification
  56. public DbSet<EmailVerifyToken> EmailVerifyToken { get; set; }
  57. public DbSet<EmailVerifyNumber> EmailVerifyNumber { get; set; }
  58. // Wallet
  59. public DbSet<Wallet> Wallet { get; set; }
  60. public DbSet<WalletTransaction> WalletTransaction { get; set; }
  61. // 게시판
  62. public DbSet<BoardGroup> BoardGroup { get; set; }
  63. public DbSet<Board> Board { get; set; }
  64. public DbSet<BoardMeta> BoardMeta { get; set; }
  65. public DbSet<BoardManager> BoardManager { get; set; }
  66. public DbSet<BoardPrefix> BoardPrefix { get; set; }
  67. // 게시글
  68. public DbSet<Post> Post { get; set; }
  69. public DbSet<PostImage> PostImage { get; set; }
  70. public DbSet<PostMedia> PostMedia { get; set; }
  71. public DbSet<PostFile> PostFile { get; set; }
  72. public DbSet<PostLink> PostLink { get; set; }
  73. public DbSet<PostReaction> PostReaction { get; set; }
  74. public DbSet<PostBookmark> PostBookmark { get; set; }
  75. public DbSet<PostReport> PostReport { get; set; }
  76. public DbSet<PostTag> PostTag { get; set; }
  77. public DbSet<Tag> Tag { get; set; }
  78. // 댓글
  79. public DbSet<Comment> Comment { get; set; }
  80. public DbSet<CommentFile> CommentFile { get; set; }
  81. public DbSet<CommentImage> CommentImage { get; set; }
  82. public DbSet<CommentMedia> CommentMedia { get; set; }
  83. public DbSet<CommentLink> CommentLink { get; set; }
  84. public DbSet<CommentReaction> CommentReaction { get; set; }
  85. public DbSet<CommentReport> CommentReport { get; set; }
  86. public DbSet<CommentMention> CommentMention { get; set; }
  87. // 뉴스
  88. public DbSet<RssFeedSource> RssFeedSource { get; set; }
  89. public DbSet<RssNewsArticle> RssNewsArticle { get; set; }
  90. // 게시글/댓글 로그
  91. public DbSet<PostUpdateLog> PostUpdateLog { get; set; }
  92. public DbSet<PostFileDownLog> PostFileDownLog { get; set; }
  93. public DbSet<PostLinkClickLog> PostLinkClickLog { get; set; }
  94. public DbSet<CommentUpdateLog> CommentUpdateLog { get; set; }
  95. public DbSet<CommentFileDownLog> CommentFileDownLog { get; set; }
  96. public DbSet<CommentLinkClickLog> CommentLinkClickLog { get; set; }
  97. protected override void OnModelCreating(ModelBuilder modelBuilder)
  98. {
  99. // Apply all configurations from the current assembly
  100. modelBuilder.ApplyConfigurationsFromAssembly(typeof(AppDbContext).Assembly);
  101. }
  102. }
  103. }