Виждам три възможни решения (това е само моето мнение):
1.
public class Comment
{
...
public List<Comment> ChildComments {get;set;}
}
Плюсове: можете лесно да зареждате, показвате йерархични данни. не познавате родителски коментар от коментар.
Недостатъци: не можете да правите заявки и да актуализирате коментар с някакъв идентификатор.
2.
public class Comment
{
...
public string ParentCommentId {get;set;}
}
Плюсове: Можете да правите заявки/актуализации, както желаете.
Недостатъци: Голямо количество заявки към mongo, когато имате нужда от йерархия на зареждане.
3. Любимият ми;) :
public class Comment
{
...
public string ParentCommentId {get;set;}
}
public class Article
{
...
public List<Comment> Comments {get;set;}
}
Плюсове: Можете да правите заявки/актуализации, както желаете. Можете да заредите статия с всички коментари в една заявка. Няма нужда да съхранявате редурантен ArticleType и ArticleId
Недостатъци: Трябва да заредите статия и да изградите йерархия в паметта.
Надявам се това да ви помогне да направите избор..