Je vois trois solutions possibles (ce n'est que mon avis):
1.
public class Comment
{
...
public List<Comment> ChildComments {get;set;}
}
Avantages : vous pouvez facilement charger, afficher des données hiérarchiques. vous ne connaissez pas le commentaire du parent du commentaire.
Inconvénients : vous ne pouvez pas interroger et mettre à jour un commentaire avec un identifiant.
2.
public class Comment
{
...
public string ParentCommentId {get;set;}
}
Avantages : Vous pouvez interroger/mettre à jour comme vous le souhaitez.
Inconvénients : Grande quantité de requêtes à mongo lorsque vous avez besoin de charger la hiérarchie.
3.Mon préféré;) :
public class Comment
{
...
public string ParentCommentId {get;set;}
}
public class Article
{
...
public List<Comment> Comments {get;set;}
}
Avantages : Vous pouvez interroger/mettre à jour comme vous le souhaitez. Vous pouvez charger l'article avec tous les commentaires en une seule demande. Pas besoin de stocker ArticleType et ArticleId redondants
Inconvénients : Besoin de charger l'article et de créer une hiérarchie en mémoire.
J'espère que cela vous aidera à faire votre choix..