PostUpdateLog.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using Domain.Entities.Forum.Posts;
  2. using Domain.Entities.Members;
  3. using Microsoft.EntityFrameworkCore;
  4. using System.ComponentModel;
  5. using System.ComponentModel.DataAnnotations;
  6. using System.ComponentModel.DataAnnotations.Schema;
  7. namespace Domain.Entities.Forum.Logs
  8. {
  9. [Table("PostUpdateLog")]
  10. [Index(nameof(PostID))]
  11. [Index(nameof(MemberID))]
  12. [Index(nameof(SubjectDiff))]
  13. [Index(nameof(ContentDiff))]
  14. [Index(nameof(PostID), nameof(ID))]
  15. [Index(nameof(PostID), nameof(MemberID))]
  16. [Index(nameof(PostID), nameof(MemberID), nameof(ID))]
  17. public class PostUpdateLog
  18. {
  19. [ForeignKey(nameof(PostID))]
  20. public Post Post { get; set; } = null!;
  21. [ForeignKey(nameof(MemberID))]
  22. public Member Member { get; set; } = null!;
  23. [Key]
  24. [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
  25. [DisplayName("PK")]
  26. [Comment("PK")]
  27. public int ID { get; set; }
  28. [DisplayName("게시판 ID")]
  29. [Comment("게시판 ID")]
  30. public int PostID { get; set; }
  31. [DisplayName("회원 ID")]
  32. [Comment("회원 ID")]
  33. public int MemberID { get; set; }
  34. [DisplayName("변경 제목")]
  35. [Comment("변경 제목")]
  36. [DataType(DataType.Text)]
  37. [StringLength(4000, ErrorMessage = "{0}은 {1}자 이하로 입력하세요.")]
  38. public string? SubjectDiff { get; set; }
  39. [DisplayName("변경 내용")]
  40. [Comment("변경 내용")]
  41. [DataType(DataType.Html)]
  42. [StringLength(4000, ErrorMessage = "{0}은 {1}자 이하로 입력하세요.")]
  43. public string? ContentDiff { get; set; }
  44. [DisplayName("비고")]
  45. [Comment("비고")]
  46. [StringLength(200, ErrorMessage = "{0}은 {1}자 이하로 입력하세요.")]
  47. public string? Note { get; set; }
  48. [DisplayName("IP Address")]
  49. [Comment("IP Address")]
  50. [MaxLength(50)]
  51. public string? IpAddress { get; set; }
  52. [DisplayName("User-Agent")]
  53. [Comment("User-Agent")]
  54. [MaxLength(255)]
  55. public string? UserAgent { get; set; }
  56. [DisplayName("등록 일시")]
  57. [Comment("등록 일시")]
  58. [DataType(DataType.DateTime)]
  59. public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
  60. }
  61. }