2016-08-05 10 views
0

DBからデータを移動するためにEntity Frameworkを使用しています。私がdbから選択している値は、 "select new {a = db.a、b = db.b}"のように動的オブジェクトです。私はそれをIQueryableオブジェクトとして返し、 "値はnullではありません。パラメータ名:ソース"例外を取得しようとします。値はnullにはできません。パラメータ名:動的オブジェクトをIQueriableにマッピングするときのソース<Class>

これは、このようなものになります返すコード:それは=デシベルBこの「選択した新しいクラス{= db.a、のように見えるので、私はselect文を変更することはできません

return query as IQueryable<Class>

を.b} "EFが私に"あなたはできない! "エラー。

私はこれをどのように管理することができますか?フィルタリング/並べ替え/ページングのIQueryableをさらに変更するためにいくつかの静的拡張を使用するので、そのIQueryableとして必要です。私はすべてを動的オブジェクトに適用できるかどうかはわかりません。

+1

'... as IQueryable 'は、 'query'が' IQueryable 'ではないため、nullを返す可能性があります。しかし、私たちにもっとコードを教えてください。 – DavidG

+0

括弧がありません:(db => new Class(){a = db.a、b = db.b}) – jdweng

+1

@jdweng純粋なLinqを使用していて、流暢な構文ではない場合は選択しないでください。また、括弧は必要ありません。 – DavidG

答えて

0

私の答えが見つかりました。私はクエリをvarクエリに設定していましたが、新しいクラス{}を選択したところでそれを拒否していました。それはもう一方の "あなたができない!"エラー。私がIQueryableクエリに切り替えたとき= ...うまくいきました。一口...それは私が疲れて過労になるために得るものです...

関連する問題