LINQ OrderByDescending传递字符串值

时间:2011-05-05 15:36:33

标签: c# linq linq-to-entities iqueryable

您好我正在尝试OrderByDescending()查询,而不是:

results = results.OrderByDescending(o => o.Surname);  

我希望使用:

results = results.OrderByDescending(o => "Surname");  

引号中的值将在参数中传入。

我看着反思,但我不确定。

2 个答案:

答案 0 :(得分:2)

查看LINQ动态查询库:http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

这将允许您使用results.OrderByDescending("Surname");

答案 1 :(得分:2)

我使用类似的东西

results = results.OrderByDescending(o => o.GetType().GetProperty("Surname").GetValue(o, null).ToString())