dynamique de tri dans linq

veuillez considérer ce scénario:

J'ai une liste d'une classe avec environ 50 champs.Je veux avoir une liste déroulante utilisateur peut sélectionner en fonction de ce champ liste de tri.Par exemple, si l'utilisateur sélectionne "F1" de tri de la liste selon le "F1".

Je ne veux pas trier avec if-else pour tous les champs.Je vois ce sujet :

Le tri d'un gridview lors de la liaison de données d'une collection ou d'une liste d'objets

mais je ne peux pas utiliser de c'est réponse. Comment je peux l'utiliser Expression Tree à cette fin?

grâce

Edit 1) :

Selon chers @Thom Smith réponse, j'ai écrit ce code:

 using (NorthwindModel1.NorthwindEntities2 ent = new NorthwindModel1.NorthwindEntities2())
    {
        var query = from o in ent.Orders
                    where o.OrderID < 10257
                    select o;

        query.OrderBy("CustomerID", SortDirection.Ascending);

        GridView1.DataSource = query;
        GridView1.DataBind();
    }

mais il n'a pas été trié. si j'ai écrit que le code de cette façon:

GridView1.DataSource = query.OrderBy(o=>o.CustomerID);

étant de tri. où est le problème?

Avez-vous considéré la Dynamique de Linq? - weblogs.asp.net/scottgu/archive/2008/01/07/...
grâce, mais je n'ai pas wnat utiliser des bibliothèques tierces.Je veux avec .Net
Juste assez, juste le jeter là-bas...

OriginalL'auteur Arian | 2012-09-19