2017-08-20 15 views
1

私は.NET COREをしばらく使用しています と私はいくつかのクエリが本当に奇妙に実行されていることに気づいたので、いくつかのプロファイリングを行いました。データベース上の部品を1ショットで取得するのではなく、稼動させています。 は、だから私は、EFコアからオプション「QueryClientEvaluation」をオフにし、私はエラーノー問題で今までEF6でAverage機能を使用しているため非常に奇​​妙であるEF CORE(C#.NET CORE)で 'Average()'を使用

The LINQ expression 'Average()' could not be translated and will be evaluated locally. 

に得続ける、なぜそれが使用する必要がある必要がありますQueryClientEvaluation ??ここ

は、使用しているバージョンの簡単なサンプル _context.Reviews.Select(r => r.Rating).Average()

+0

実行しようとしているクエリを含めることはできますか? – mjwills

+0

いくつかのコードを入力してください。より良く確認できます – msd

+0

リクエストされたサンプルを追加しました – CMS

答えて

4

のですか?

バージョン2.0.0-preview1で修正されたバグ#7190でした。最新のリリースバージョン2.0.0を使用することもできます。

+0

私はちょうど同じエラーが2.0で起きているのを見つけるためにアプリケーションをアップグレードするのに1時間を費やした。 – CMS

+1

@CMSアップグレードに加えて、結果の型をnullableに昇格する必要がある。 '_context.Reviews.Select(r =>(decimal?)r.Rating).Average()?? 0'( 'decimal'を' Rating'プロパティータイプに置き換えてください) –

+0

OK THANKS !!!それがうまくいったのですが、問題は私が必要としていたことです(10進数?)そして何らかの理由で私は非同期を取り除く必要がありました。 – CMS

関連する問題