динамическая сортировка в linq
пожалуйста, рассмотрите этот сценарий:
У меня есть список класса с примерно 50 полями. Я хочу иметь Combobox, который пользователь может выбирать в соответствии с тем, какой список полей будет сортироваться. Например, если пользователь выбирает & quot; F1 & quot; сортировка списка в соответствии с "F1".
Я не хочу сортироватьif-else
для каждого поля. Я вижу эту тему:
Сортировка вида сетки при привязке данных к коллекции или списку объектов
но я не могу использовать его ответ. Как я могу использоватьExpression Tree
для этого?
Edit 1) :
В соответствии с дорогим ответом @Thom Smith я написал этот код:
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();
}
но это не было отсортировано. если бы я написал этот код таким образом:
GridView1.DataSource = query.OrderBy(o=>o.CustomerID);
это быть своего рода. в чем проблема?