Динамическая сортировка и разбиение на страницы на стороне сервера в Silverlight 4 с WCF RIA - PullRequest
0 голосов
/ 24 октября 2011

Из-за огромного объема данных наше приложение SL4 сталкивается с проблемой замедления работы. Чтобы решить эту проблему, мы решили выполнить разбиение на страницы и сортировку на стороне сервера.

Структура базы данных:

  • Таблица клиентов (customerID, CustomerLabel, personId)
  • Таблица персоны (personId, FirstName)
  • Датагрид имеет (CustomerLabel, FirstName)

Пейджинг на стороне сервера прошел нормально, при попытке сортировки я могу легко отсортировать по "CustomerLabel", используя:

IEnumerable<Customer> source = this.ObjectContext.Customers.Include("Person"); 

 source = source.OrderByDescending<Customer, object>(p => GetKeySelector(p, propertyName));

private static object GetKeySelector(Customer p, string propertyName)
{
    PropertyInfo propertyInfo = target.GetType().GetProperty(propertyName);
    return propertyInfo.GetValue(target, null);
}

Проблема: в то время как propertyName является "Person.FirstName" в сетке данных. "PropertyInfo" имеет значение null.

Хотел бы я, чтобы кто-нибудь помог мне в этом.

1 Ответ

0 голосов
/ 26 октября 2011

Я не уверен, что понимаю, почему вы не используете встроенную функциональность.Описывает ли этот пост то, что вы хотите сделать?

Службы RIA WCF DomainCollectionView

...