ordenamiento dinámico en linq
Por favor considere este escenario:
Tengo una lista de una clase con aproximadamente 50 campos. Quiero tener un Combobox que el usuario pueda seleccionar según la lista de campos que se ordenará. Por ejemplo, si el usuario selecciona la lista "F1" de acuerdo con "F1".
No quiero arreglar conif-else
para cada campo. Veo este tema:
Ordenar una vista de cuadrícula al enlazar una colección de datos o una lista de objetos
Pero no puedo usar su respuesta. Como puedo usarExpression Tree
¿para este propósito?
Editar 1) :
De acuerdo con la respuesta del querido @Thom Smith, escribí este código:
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();
}
pero no fue ordenado Si escribiera ese código de esta manera:
GridView1.DataSource = query.OrderBy(o=>o.CustomerID);
es una especie ¿Dónde está el problema?