Cette question fait référence à http://www.matthidinger.com/archive/2009/02/08/asp.net-mvc-recursive-treeview-helper.aspxRemplissez une structure de données récursive à partir d'une base de données autoréférentiel Tableau
Disons que j'ai une table qui ressemble à ceci:
Et j'ai données récursive structure qui ressemble à ceci:
public class TreeNode
{
public TreeNode(){}
public string NodeId { get; set; }
public string ParentId { get; set; }
public string Name { get; set; }
public IEnumerable<TreeNode> Children { get; }
}
Comment remplir cette structure de données récursive à partir de la table en utilisant Linq?
REMARQUE: Pour les besoins de cette question, veuillez supposer que j'ai déjà une table parfaitement efficace; c'est-à-dire qu'il est complètement résident en mémoire, ou qu'il est en cours d'accès en utilisant un CTE. Vraiment, je suis juste à la recherche des requêtes Linq pour l'obtenir de Linq à SQL DataContext à l'objet récursif. Je suis conscient que cela impliquera probablement un appel de fonction ForEach et récursif; Je ne peux pas vraiment comprendre.
Merci d'avance.
Voir aussi: http://stackoverflow.com/questions/535436/linq-to-sql-recursively-get-children –