Используя Entity Framework 4, я пытаюсь реализовать динамическую сортировку на основе коллекции имен членов. В принципе, пользователь может выбирать поля для сортировки и порядок сортировки. Я рассмотрел примеры дерева выражений и не могу собрать это вместе. Вот несколько деталей:
Коллекция имен столбцов:
public List<string> sortColumns;
sortColumns = new List<string>();
/// Example subset of video fields. The collection will vary.
sortColumns.Add("Width");
sortColumns.Add("Height");
sortColumns.Add("Duration");
sortColumns.Add("Title");
Класс видео определяется следующим образом:
public class Video
{
public string Title { get; set; }
public int Width { get; set; }
public int Height { get; set; }
public float Duration { get; set; }
public string Filename { get; set; }
public DateTime DateCreated { get; set; }
.
.
.
}
public List<Video> Videos;
То, что я хотел бы сделать, это перечислить через коллекцию sortColumns, чтобы построить дерево выражений во время выполнения. Кроме того, пользователь может указать либо восходящую, либо нисходящую сортировку, и дерево выражений должно также обрабатывать.
Я попробовал библиотеку Dynamic LINQ для VS 2008, но она не работает в VS 2010. (Я мог бы что-то сделать не так.)
В нижней строке мне нужно дерево выражений для динамического сортировки коллекции видео на основе ввода пользователем. Любая помощь будет оценена.