Динамический LINQ
я есть таблица, и я хочу сделать функцию сортировки для каждого столбца.
Сортировка имеет два направления asc и desc.
1) Как я могу сортировать столбцы, используя отражение?
List<Person> GetSortedList(List<Person> persons, string direction, string column)
{
return persons.OrderBy(x => GetProperyByName(x, column)); //GetPropertyByName - ??
}
2) Также я хочу сделать то, что я могу назвать цепочкой операторов linq:
List<Person> GetSortedList(List<Person> persons, string direction, string column)
{
var linqChain;
if(direction=="up")
{
linqChain+=persons.OrderBy(x => GetProperyByName(x, column))
}
else
{
linqChain+=persons.OrderByDescending(x => GetProperyByName(x, column))
}
linqChain+=.Where(....);
return linqChain.Execute();
}