Работает ли динамический GroupBy вместе с динамическим Where в динамическом LINQ?

Я использую этот динамическая библиотека LINQ вместе с Linq-to-Entities.
Я создаю запрос и после этого повторяю его с помощью foreach(object e in query){}

query=db.Table1.Where("it.FieldA>10").Select("it.FieldB"); работает.
query=db.Table1.Where(e=>e.FieldA>10).GroupBy("it.FieldB", "it").Select("key") работает.
Но query=db.Table1.Where("it.FieldA>10").GroupBy("it.FieldB", "it").Select("key") вызывает EntitySqlException с сообщением The query syntax is not valid., near keyword 'FROM', line 2, column 1. в соответствии с оператором foreach.

Как я могу заставить его работать без исключения?

Обратите внимание, что тип db.Table1.Where(e=>e.FieldA>10)IQueryable<Table1>, а тип db.Table1.Where("it.FieldA>10")System.Data.Objects.ObjectQuery<Table1>.


person alpav    schedule 06.08.2010    source источник


Ответы (1)


Нашел, db.Table1.AsQueryable() исправил, так что db.Table1.AsQueryable().Where("it.FieldA>10").GroupBy("it.FieldB", "it").Select("key") работает без исключения.

Проблема заключалась в том, что библиотека Microsoft Dynamic Linq расширяет IQueryable<Table1>, поэтому она не влияет на ObjectQuery<Table1>, который является типом db.Table1.

person alpav    schedule 09.08.2010