Vedo tre soluzioni possibili (è solo la mia opinione):
1.
public class Comment
{
...
public List<Comment> ChildComments {get;set;}
}
Pro: puoi caricare facilmente, visualizzare dati gerarchici. non conosci il commento del genitore dal commento.
Contro: non puoi interrogare e aggiornare il commento con qualche ID.
2.
public class Comment
{
...
public string ParentCommentId {get;set;}
}
Pro: Puoi interrogare/aggiornare come vuoi.
Contro: Grande quantità di richieste da mongo quando hai bisogno di una gerarchia di carico.
3.Il mio preferito;) :
public class Comment
{
...
public string ParentCommentId {get;set;}
}
public class Article
{
...
public List<Comment> Comments {get;set;}
}
Pro: Puoi interrogare/aggiornare come vuoi. Puoi caricare l'articolo con tutti i commenti in un'unica richiesta. Non c'è bisogno di memorizzare ArticleType e ArticleId riduranti
Contro: È necessario caricare l'articolo e creare una gerarchia in memoria.
Spero che questo ti aiuti a fare una scelta..