CommentFileDownLog.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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("CommentFileDownLog")]
  9. [Index(nameof(CommentID))]
  10. [Index(nameof(CommentFileID))]
  11. [Index(nameof(MemberID))]
  12. [Index(nameof(CommentID), nameof(CommentFileID))]
  13. [Index(nameof(CommentID), nameof(CommentFileID), nameof(MemberID))]
  14. public class CommentFileDownLog
  15. {
  16. [ForeignKey(nameof(CommentID))]
  17. public Comment Comment { get; set; } = null!;
  18. [ForeignKey(nameof(CommentFileID))]
  19. public CommentFile CommentFile { get; set; } = null!;
  20. [ForeignKey(nameof(MemberID))]
  21. public Member Member { get; set; } = null!;
  22. [Key]
  23. [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
  24. [Comment("PK")]
  25. public int ID { get; set; }
  26. [Comment("댓글 ID")]
  27. public int CommentID { get; set; }
  28. [Comment("댓글 파일 ID")]
  29. public int CommentFileID { get; set; }
  30. [Comment("회원 ID")]
  31. public int? MemberID { get; set; }
  32. [Comment("IP Address")]
  33. [MaxLength(50)]
  34. public string? IpAddress { get; set; }
  35. [Comment("User-Agent")]
  36. [MaxLength(255)]
  37. public string? UserAgent { get; set; }
  38. [Comment("등록 일시")]
  39. public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
  40. }
  41. }