Bonjour,
j'extrais avec Entity framework un Iqueryable de groupe comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
[/EDIT]
Partager