Duplicar posible:
Dynamic LINQ OrderBycaso interruptor Evitar -linq
switch (sort) {
case "Title":
queryResults = queryResults.OrderBy(r => r.Title);
break;
default:
queryResults = queryResults.OrderBy(r => r.LastName);
break;
¿Hay alguna manera de deshacerse del bloque de interruptores de arriba?
¿Puedo hacer algo como:
queryResults = queryResults.OrderBy(r => r."sort");
or
queryResults = queryResults.OrderBy(r => r.sort);
Usted encontrará su respuesta en esta pregunta: ¿http://stackoverflow.com/questions/41244/dynamic-linq -orderby –
Las soluciones proporcionadas no funcionarán para la mayoría de los proveedores de linq, consulte mi solución: http://stackoverflow.com/a/21936366/775114 –