Tôi thấy ba giải pháp khả thi (đó chỉ là ý kiến của tôi):
1.
public class Comment
{
...
public List<Comment> ChildComments {get;set;}
}
Ưu điểm: bạn có thể dễ dàng tải, hiển thị dữ liệu phân cấp. bạn không biết nhận xét của phụ huynh từ bình luận.
Nhược điểm: bạn không thể truy vấn và cập nhật nhận xét với một số id.
2.
public class Comment
{
...
public string ParentCommentId {get;set;}
}
Ưu điểm: Bạn có thể truy vấn / cập nhật như bạn muốn.
Nhược điểm: Số lượng yêu cầu lớn đến mongo khi bạn cần phân cấp tải.
3. người yêu thích của tôi;):
public class Comment
{
...
public string ParentCommentId {get;set;}
}
public class Article
{
...
public List<Comment> Comments {get;set;}
}
Ưu điểm: Bạn có thể truy vấn / cập nhật như bạn muốn. Bạn có thể tải bài viết với tất cả các bình luận trong một yêu cầu. Không cần lưu trữ ArticleType và ArticleId
Nhược điểm: Cần tải bài viết và xây dựng hệ thống phân cấp trong bộ nhớ.
Hy vọng điều này sẽ giúp bạn đưa ra lựa chọn ..