エンティティFrameworkの非同期データの読み込み?
-
20-09-2019 - |
質問
誰でもEFクエリの実行を非同期聞いていましたか?
私は私の項目は、右を充填するコントロールしたいときに、フォームがロードされ、ユーザーがアイテムの残りがまだロードされている間、リストを表示することができる必要があります。
おそらくすべて同じ接続に自動分割アイテムのバルク(それぞれ実行するための、すなわち、いくつかのクエリ)で実行することにより
私は、マイクロソフトのに機能の提案をしてください投稿しました同様にあなたのアイデアとそれらを共有します。
解決
商用のような音にしたいが、私は、最新のDevExpress社グリッドがそのWPFグリッドでは、このような機能を与えることに気づいていません。基本的に、あなたのUIがフリーズされていないので、バックグラウンドスレッドで残りの部分を読み込む、その後、最初のの可視数の項目をロードしたいです。バックグラウンドスレッドは、おそらく一度に別のページをロードし、UIスレッドにそれらを利用できるようにする必要があります。
それはあなたがについて慎重に考えると、あなたは右のそれを得ることを確認、または単にあなたのためにハードワークを行う制御を購入したいと思う何かます。
他のヒント
私は、これはWebアプリケーションであることをあなたのリンクから取ります。それは正しいですか?
Aクエリが完了し、開始することができ、レンダリングする前にデータを返す必要があります。 EFの機能は、ここであなたを助けにはなりません。むしろ。一度に行うことができますいくつかのプロセスにあなたのプロセスを壊す見ます。
これはHTMLをレンダリングして行われていない場合はASP.NETがブラウザにレスポンスを返すことができないことに注意してください。
私はあなたが戻って結果を取得し、ページにそれらを表示する、単一のクエリを実行していると仮定しましょう。
ベストオプション:ページ検索結果。あなたは4000件のレコードを持っている場合は、ユーザーに200件の以上のレコードを表示した場合、彼らはその多くの情報を消化することはできません最初の50を表示します。
それがニーズに合わない場合は、、50件の結果を得るためのクエリーを発射を見てください。残りのレコードへのAjax呼び出しを作成し、(適度なサイズ)のチャンクで、そこからUIを構築します。