Dynamic Linq не работает с Linq to Entities

Я работаю над небольшим проектом, который объединяет 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 работает нормально ...


person Madhusudhanan Padmanabhan    schedule 26.07.2011    source источник


Ответы (1)


Протестируйте с этим кодом:

var q = adent.

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

person PierrickM    schedule 25.11.2011