質問: この動的LINQライブラリをLinq-to-Entitiesと一緒に使用しています。 クエリを作成し、その後`foreach(object e in query){}`それを反復`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` 、メッセージで`EntitySqlException`が発生する`The query syntax is not valid., near keyword 'FROM', line 2, column 1.` `foreach`ステートメントと一致しています。 どうすれば例外なく機能させることができますか? `db.Table1.Where(e=>e.FieldA>10)`タイプは`IQueryable`ですが、 `db.Table1.Where("it.FieldA>10")`タイプは`System.Data.Objects.ObjectQuery` 。
回答: 見つかった、 `db.Table1.AsQueryable()`修正したため、 `db.Table1.AsQueryable().Where("it.FieldA>10").GroupBy("it.FieldB", "it").Select("key")`は例外なく動作します。 問題は、Microsoft Dynamic Linqライブラリが`IQueryable`拡張するため、 `db.Table1`のタイプである`ObjectQuery`には影響を与えないこと`db.Table1` 。