Динамический Linq не работает с Linq для сущностей - PullRequest
0 голосов
/ 26 июля 2011

Я работаю над небольшим проектом, который Linq To лица. Существует требование фильтровать данные на основе критериев поиска / фильтра, которые устанавливаются пользователем. Поскольку критерии фильтра / поиска могут быть для любого из полей, отображаемых в представлении, я решил использовать Dynamic Linq.

Я скачал библиотеку из блога Скотгу . Я ссылался на System.Linq.Dynamic в моем классе, и я создал пример класса, который выполняет динамический запрос linq, как показано ниже,

AdventureWorksEntities adent = new AdventureWorksEntities();

var q = adent.
Contacts.OrderBy("FirstName").
Select("New(Title, FirstName, LastName)");

var l = q.ToList();

Однако в приведенном выше блоке кода при выполнении запроса я получаю сообщение об ошибке

«FirstName» не может быть разрешено в текущей области или контексте. Убедитесь, что все ссылочные переменные находятся в области видимости, что необходимые схемы загружены и что на пространства имен ссылаются правильно. Рядом с простым идентификатором, строка 8, столбец 1.

Я проверил довольно много сообщений на этот счет, но с меньшей помощью ...

Любые указатели о том, как устранить вышеуказанную ошибку, будут великолепны ... Спасибо ...

P.S. Аналогичный запрос к DataContext работает нормально ...

1 Ответ

0 голосов
/ 25 ноября 2011

Тест с этим кодом:

var q = adent.

Contacts.OrderBy ( "it.FirstName"). Выбрать («Новый (Заголовок, Имя, Фамилия)»);

...