Veo tres posibles soluciones (es solo mi opinión):
1.
public class Comment
{
...
public List<Comment> ChildComments {get;set;}
}
Ventajas: puede cargar fácilmente, mostrar datos jerárquicos. usted no sabe el comentario de los padres del comentario.
Desventajas: no puede consultar y actualizar el comentario con alguna identificación.
2.
public class Comment
{
...
public string ParentCommentId {get;set;}
}
Ventajas: Puedes consultar/actualizar como quieras.
Desventajas: Gran cantidad de solicitudes a mongo cuando necesita carga de jerarquía.
3.Mi favorito;) :
public class Comment
{
...
public string ParentCommentId {get;set;}
}
public class Article
{
...
public List<Comment> Comments {get;set;}
}
Ventajas: Puedes consultar/actualizar como quieras. Puede cargar el artículo con todos los comentarios en una sola solicitud. No es necesario almacenar ArticleType y ArticleId de redurant
Contras: Necesita cargar el artículo y crear una jerarquía en la memoria.
Espero que esto te ayude a elegir...