2010-04-06 5 views
1

Я использую динамический linq, чтобы создать общий класс для обработки общего JqGrid из MVC, все работает отлично (поиск, разбиение на страницы и т. Д.), За исключением сортировки по свойствам кода. Сортировка отлично работает, когда я бил БД сортировать данные, но как только это свойство я сделал сортировка не работает, например,Сортировать по свойствам из динамического linq

public partial class tblStockOrder 
{ 
    public string approved 
    { 
     get 
     { 
      return approved_id == null ? "" : "Approved"; 
     } 
    } 
} 

Я бег следующего динамического Linq

 items = items 
      .OrderBy(string.Format("{0} {1}", sidx, sord)) 
      .Skip(pageIndex * pageSize) 
      .Take(pageSize); 

Где sidx и т. Д. Строки, переданные jQuery.

Итак, в основном это лучшее решение для обработки случая, когда некоторые свойства будут из db, а другие будут свойствами кода (не уверены в правильном наименовании). Я могу обрабатывать все это в коде с использованием отражения, но, очевидно, БД будет обрабатывать как можно большую часть поиска/сортировки, не втягивая тысячи записей и сортируя их в коде с использованием отражения.

ответ

0

Компьютерный класс, конечно, не будет работать, поскольку вы пытаетесь создать запись, которая является частью памяти, частью в базе данных.

Вы можете, однако, вычислить же на базе данных, указав функцию в Linq запроса, например: (! Х => x.approved_id = нуль) элементы = элементы .OrderBy Пропустите (pageIndex * PAGESIZE) .Take (pageSize);

Смежные вопросы