Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > LINQ (Language-Integrated Query) > DynamicObject LINQ query


Автор: aperfectsopa 29.7.2010, 20:48
Не работает LINQ-запрос динамических обьектов (DynamicObject) из класса!!!

LINQ-запрос динамических обьектов (DynamicObject) из List<T> компилируеться:

List<string> list = new List<string>();
var query = (from dynamic d in list where d.FirstName == "John" select d);

Что нужно сделать (добавить) что б подобный запрос работал с классом, который используеться для обычных LINQ-запросов? То есть что бы 

компилировался подобный запрос:

DBclass db = new DBclass();
var query = (from dynamic d in db where d.FirstName == "John" select d);


Так как сейчас выбрасывает ошибку: "An expression tree may not contain a dynamic operation"

Автор: KelTron 30.7.2010, 12:15
DBclass должен реализовывать интерфейс IEnumerable/IEnumerable<T>...
Код пахнет неправильным использованием dynamic

Автор: Любитель 3.8.2010, 10:48
Цитата(KelTron @  30.7.2010,  12:15 Найти цитируемый пост)
DBclass должен реализовывать интерфейс IEnumerable/IEnumerable<T>...

Дженериковый IEnumerable он обязан реализовывать, иначе бы это не компилилось бы с другой ошибкой. Но, чтобы это работало он ещё обязан не реализовывать дженериковый IQueryable (ну или явно кастить к IEnumerable). Иными словами - то, чего хочет авто сделать невозмжно и причина вполне явно описанf/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)