using Domain.Entities.Members; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Domain.Entities.Feed; public class FeedComment { [ForeignKey(nameof(FeedPostID))] public virtual FeedPost FeedPost { get; set; } = null!; [ForeignKey(nameof(MemberID))] public virtual Member Member { get; set; } = null!; [ForeignKey(nameof(ParentID))] public virtual FeedComment? Parent { get; set; } // 자식 댓글 public virtual ICollection Children { get; set; } = []; // 댓글 좋아요 public virtual List FeedCommentLike { get; set; } = []; [Key] public int ID { get; set; } public int FeedPostID { get; set; } public int MemberID { get; set; } public int? ParentID { get; set; } public sbyte Depth { get; set; } = 0; public string Content { get; set; } = default!; public int Likes { get; set; } = 0; public int Replies { get; set; } = 0; public int Reports { get; set; } = 0; public int Score { get; set; } = 0; public bool IsDeleted { get; set; } = false; public string? IpAddress { get; set; } public string? UserAgent { get; set; } public DateTime? DeletedAt { get; set; } public DateTime? UpdatedAt { get; set; } public DateTime CreatedAt { get; set; } = DateTime.UtcNow; }