Я использую динамический linq для создания универсального класса для обработки универсального JqGrid из MVC, все отлично работает (поиск, разбиение на страницы и т. Д.), За исключением сортировки по свойствам кода. Сортировка работает нормально, когда я нажимаю на БД для сортировки данных, но как только это свойство будет выполнено, сортировка не работает, например
public partial class tblStockOrder
{
public string approved
{
get
{
return approved_id == null ? "" : "Approved";
}
}
}
Я использую следующий Dynamic Linq
items = items
.OrderBy(string.Format("{0} {1}", sidx, sord))
.Skip(pageIndex * pageSize)
.Take(pageSize);
Где sidx и т. Д. - это строки, передаваемые jquery.
Так что, по сути, это лучшее решение для обработки случая, когда некоторые свойства будут из базы данных, в то время как другие будут свойствами кода (не уверены в правильном именовании). Я могу обработать все это в коде с помощью рефлексии, но, очевидно, хотел бы, чтобы БД выполняла как можно больше операций поиска / сортировки, не извлекая тысячи записей и не сортируя их в коде с помощью рефлексии.