[entity fw] de Iqueryable à list hierarchique
Bonjour,
j'extrais avec Entity framework un Iqueryable de groupe comme ceci:
Code:
1 2 3 4 5 6
|
id parentid name
1 null group1
2 null group2
3 null group3
4 1 group1.1 |
Maintenant, j'aimerais réorganiser mes objets de façon a avoir avec group.ChildGroups les sous groupes correspondants.
Y a t'il une façon rusée et intelligente de le faire via linq . Ma première impulsion est de transformer mon iqueryable en list et de faire une boucle sur cette liste pour ranger mes éléments. Mais je trouve cela moyen...
merci d'avance de vos lumières,
[EDIT]
voilà ce que j'ai pu faire pour l'instant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| AllGroups = new List<LocalisationGroup>();
List<LocalisationGroup> lg = servicelocalisation.GetLocalisationGroups().ToList();
foreach (LocalisationGroup g in lg.ToList())
{
if (g.ParentGroup != null)
{
AllGroups.First(x => x.Id == g.ParentGroup.Id).ChildGroups.Add(g);
}
else
{
AllGroups.Add(g);
}
} |
et ainsi j'ai AllGroups qui est bien rangé. Mais cela veut dire dupliquer ma liste et par ailleurs je ne suis aps sur que ce soit la méthode la plus efficace.
[/EDIT]