FeedComment.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using Domain.Entities.Members;
  2. using System.ComponentModel.DataAnnotations;
  3. using System.ComponentModel.DataAnnotations.Schema;
  4. namespace Domain.Entities.Feed;
  5. public class FeedComment
  6. {
  7. [ForeignKey(nameof(FeedPostID))]
  8. public virtual FeedPost FeedPost { get; set; } = null!;
  9. [ForeignKey(nameof(MemberID))]
  10. public virtual Member Member { get; set; } = null!;
  11. [ForeignKey(nameof(ParentID))]
  12. public virtual FeedComment? Parent { get; set; }
  13. // 자식 댓글
  14. public virtual ICollection<FeedComment> Children { get; set; } = [];
  15. // 댓글 좋아요
  16. public virtual List<FeedCommentLike> FeedCommentLike { get; set; } = [];
  17. [Key]
  18. public int ID { get; set; }
  19. public int FeedPostID { get; set; }
  20. public int MemberID { get; set; }
  21. public int? ParentID { get; set; }
  22. public sbyte Depth { get; set; } = 0;
  23. public string Content { get; set; } = default!;
  24. public int Likes { get; set; } = 0;
  25. public int Replies { get; set; } = 0;
  26. public int Reports { get; set; } = 0;
  27. public int Score { get; set; } = 0;
  28. public bool IsDeleted { get; set; } = false;
  29. public string? IpAddress { get; set; }
  30. public string? UserAgent { get; set; }
  31. public DateTime? DeletedAt { get; set; }
  32. public DateTime? UpdatedAt { get; set; }
  33. public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
  34. }