CommentUpdateLog.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using Domain.Entities.Forum.Comments;
  2. using Domain.Entities.Members;
  3. using Microsoft.EntityFrameworkCore;
  4. using System.ComponentModel.DataAnnotations;
  5. using System.ComponentModel.DataAnnotations.Schema;
  6. namespace Domain.Entities.Forum.Logs
  7. {
  8. [Table("CommentUpdateLog")]
  9. [Index(nameof(CommentID))]
  10. [Index(nameof(MemberID))]
  11. [Index(nameof(ContentDiff))]
  12. [Index(nameof(CommentID), nameof(ID))]
  13. [Index(nameof(CommentID), nameof(MemberID))]
  14. [Index(nameof(CommentID), nameof(MemberID), nameof(ID))]
  15. public class CommentUpdateLog
  16. {
  17. [ForeignKey(nameof(CommentID))]
  18. public Comment Comment { get; set; } = null!;
  19. [ForeignKey(nameof(MemberID))]
  20. public Member Member { get; set; } = null!;
  21. [Key]
  22. [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
  23. [Comment("PK")]
  24. public int ID { get; set; }
  25. [Comment("댓글 ID")]
  26. public int CommentID { get; set; }
  27. [Comment("회원 ID")]
  28. public int MemberID { get; set; }
  29. [Comment("변경 내용")]
  30. [StringLength(4000)]
  31. public string? ContentDiff { get; set; }
  32. [Comment("비고")]
  33. [StringLength(200)]
  34. public string? Note { get; set; }
  35. [Comment("IP Address")]
  36. [MaxLength(50)]
  37. public string? IpAddress { get; set; }
  38. [Comment("User-Agent")]
  39. [MaxLength(255)]
  40. public string? UserAgent { get; set; }
  41. [Comment("등록 일시")]
  42. public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
  43. }
  44. }