使用 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 集合以在运行时构建表达式树。此外,用户可以指定升序或降序排序,表达式树应该处理任何一个。
我尝试了 VS 2008 的动态 LINQ 库,但它似乎在 VS 2010 中不起作用。(我可能做错了什么。)
底线是我需要一个表达式树来根据用户输入对视频集合进行动态排序。任何帮助,将不胜感激。