Bonjour à tous,

J'ai un petit problème d'ordre dans mes collections d'entité.

Voici le soucis :
- J'ai deux type d'entités, une PARENT et une ENFANT
- PARENT contient 0..n ENFANT
- chaque entité ENFANT a un ID en auto increment

Je ne veux pas faire un PARENT.Enfant.Load() pour charger toutes les entités ENFANT mais passer par une requête explicite du type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
var requete = from enfants in context.ENFANT
                              where ENFANT.PARENT.ID == pId orderby points.ID ascending
                              select enfants;

result.ENFANT.Attach(requete);//Result est de type PARENT
Quand je met un point d'arrêt dans le résultat de requete pas de problème la liste d'enfant est ordonnée selon les ID croissant.

Mais si je regarde la liste d'entité dans result.ENFANT (result est de type parent), je constate que l'ordre de mes ENFANT ne sont plus du tout dans l'ordre souhaité.

Comment faire pour s'assurer que la liste d'entité soit triées selon les critères de la requête?

Même si ensuite je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
result.ENFANT.OrderBy(c=>c.ID);
La liste n'est toujours pas ordonnée dans le bon ordre ...

Si quelqu'un a une idée je suis preneur!

Merci à vous.