2017-09-26 5 views
-2

Entity Framework Coreは、IQueryableで非同期拡張メソッドを提供します。EFコアでasynschronusメソッドを使用するタイミングは?

などSingleAsyncSingleOrDefaultAsyncFirstAsyncFirstOrDefaultAsyncToListAsyncなど

私は非同期バリアントを使用する必要があるとき、私は通常の方法を使用しなければなりませんか?どのように私は知っていますか?

私はいつも非同期拡張メソッドを使うべきですか、特定のユースケースやシナリオの下でのみ使うべきですか? Asynchronous programming with async and awaitから

+3

非同期で実行する場合は、非同期メソッドを使用します。あなたの質問が意味をなさないかどうかわかりません。 – DavidG

+0

それでは、EF Coreからオブジェクトをフェッチして出力するASP.NET Coreコントローラを使用している場合、非同期でもそうでなくてもかまいませんか?いずれも動作します。 – Fred

+1

答えがわからない場合は、 'async' /' await'が何であるかを調べる必要があります。 – DavidG

答えて

0

非同期は、潜在的なWebアクセスなど、 をブロックしている活動のために不可欠です。ウェブリソースへのアクセスが遅くなるか、 が遅れます。そのようなアクティビティが同期プロセスでブロックされる場合は、アプリケーション全体で が待機する必要があります。非同期プロセスでは、 アプリケーションは、潜在的にブロックするタスクが終了するまで、 Webリソースに依存しない他の作業を続けることができます。

+0

はい、知っていますが、私は 'HttpClient'を使うと広範囲に非同期を使います。しかし、この質問は、EFコアと、どのシナリオとユースケースが提供されているさまざまな種類のメソッドを使用するかに関するものです。 – Fred

+0

それは同じです。 EFはSQLサーバーへのネットワークコールを行い、サーバーがクエリを実行するのを待ちます。あなたが愚かな待機のためにサーバーリソースを無駄にしたくない場合は、待たずにasyncを使用してください。 – Dmitry

+0

だから私はいつも*非同期メソッドを使うべきですか?それでも、 'await'キーワードを使用しているので、"愚かに待っています "というのですか? – Fred

関連する問題