LINQ - Trier la Liste des objets à l'aide de OrderBy EnumValue, et l'Union de l'ensemble de résultats?

Salutations! Je veux utiliser LINQ pour interroger une liste d'objets et de les classer par une énumération de valeur, chaîne de valeur, puis de l'union, le reste de la liste triée de manière similaire LINQ newbie ici, alors soyez gentil.

//CTOR for my class
MyClass(id, "Name Value Here", Enum.EnumValueHere);

Je créer une liste de ces objets et que vous voulez à la variable de tri de telle sorte que tous les éléments avec le protocole Enum.EnumValue[X] sont affichés en premier dans la liste, triée par Nom, suivi par tous les autres éléments triés dans un mode similaire (almnost comme une Union d'ensembles de résultats dans SQL)

//What I have so far (only sorts the list)
List<MyClass> = (from s in MyClass orderby s.EnumValue, s.NameValue  select s).ToList();

Importe quel Gourou est sorti il y a quelques LINQ Magique à partager?

Merci!

SQL permet uniquement d'un ORDRE PAR la requête, pensez donc à commander l'ensemble et pas chacun de l'UNION de la section. Il y a des astuces pour trier chaque section de l'UNION différemment, mais je ne pense pas que c'est ce que vous demandez.

OriginalL'auteur | 2009-07-15