LINQ OrderByDescending передавая строковое значение - PullRequest
2 голосов
/ 05 мая 2011

Привет, я пытаюсь OrderByDescending() по запросу, а не:

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

Я хочу использовать:

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

Значение в кавычках будет передано в параметре.

Я смотрел на отражение, но не уверен.

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

Я использую что-то вроде этого

results = results.OrderByDescending(o => o.GetType().GetProperty("Surname").GetValue(o, null).ToString())
2 голосов
/ 05 мая 2011

Посмотрите библиотеку динамических запросов LINQ: http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

это позволит вам использовать results.OrderByDescending("Surname");

...