LINQ и отражение - PullRequest
       3

LINQ и отражение

2 голосов
/ 08 ноября 2010

Вот дикий.Я пишу универсальный редактор сущностей с использованием JQuery и NHibernate LINQ.Пока все отлично работает.Но сейчас я пытаюсь добавить поддержку сортировки.Вещи стали хитрыми.Я хочу сказать, чтобы он сортировал свойство, но в классе я не буду знать, что это за объект, до времени выполнения.проблема, я получаю исключение нулевого указателя, когда я делаю это.Любые подсказки о том, как я могу делать то, что я хочу сделать?Я подозреваю, что эта проблема снова возникнет, когда я буду искать.

Ответы [ 2 ]

3 голосов
/ 09 ноября 2010

Используйте Dynamic LINQ (http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx, section Загрузка библиотеки динамических запросов LINQ ) и укажите поле для сортировки в виде строки:

data = _repository.FindAll().OrderBy(formData["sidx"].ToString()).ToList();
0 голосов
/ 09 ноября 2010

Это должно работать, если formData["sidx"] указывает имя существующего свойства с соответствующим регистром.Проверьте, что formData["sidx"] возвращает, и если это в правильном случае.Я бы начал с жесткого кодирования имени реальной собственности.Если это работает, проверьте formData["sidx"].

Например, если указан класс со свойством Name, ваш код выдаст NullReferenceException, если вы используете GetProperty("NaMe").

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...