EF クエリの非同期実行について誰か聞いたことがありますか?
フォームがロードされたときにアイテム コントロールが入力され、残りのアイテムがまだロードされている間にユーザーがリストを表示できるようにする必要があります。
おそらく、実行を大量のアイテム(つまり、実行ごとにいくつかのクエリ)ですべて同じ接続で自動分割することによります。
Microsoftに機能の提案を投稿しました。あなたのアイデアも共有してください。
EF クエリの非同期実行について誰か聞いたことがありますか?
フォームがロードされたときにアイテム コントロールが入力され、残りのアイテムがまだロードされている間にユーザーがリストを表示できるようにする必要があります。
おそらく、実行を大量のアイテム(つまり、実行ごとにいくつかのクエリ)ですべて同じ接続で自動分割することによります。
Microsoftに機能の提案を投稿しました。あなたのアイデアも共有してください。
コマーシャルのように聞こえたくないのですが、最新の DevExpress グリッドが WPF グリッドでこのような機能を提供していることに気付きました。基本的に、目に見える数のアイテムを最初にロードしてから、残りをバックグラウンド スレッドでロードして、UI がフリーズしないようにする必要があります。バックグラウンド スレッドは、おそらく一度に別のページを読み込み、UI スレッドで利用できるようにする必要があります。
それはあなたが慎重に考えて、それが正しいことを確認するか、単にあなたのために難しい仕事をするコントロールを購入したいものです.
あなたのリンクから、これはウェブアプリだと思います。あれは正しいですか?
クエリは、レンダリングを開始する前に完了してデータを返す必要があります。ここでは、EF 機能は役に立ちません。それよりも。一度に実行できるいくつかのプロセスにプロセスを分割することを検討してください。
HTML のレンダリングが完了していない場合、ASP.NET はブラウザーに応答を返すことができないことに注意してください。
単一のクエリを実行し、結果を取得してページに表示していると仮定しましょう。
最適なオプション: 結果をページングします。4000 件のレコードがある場合は、最初の 50 件を表示します。ユーザーに 200 件以上のレコードを表示すると、ユーザーはそれほど多くの情報を消化できません。
それがニーズに合わない場合は、50 件の結果に対して 1 つのクエリを起動することを検討してください。残りのレコードに対して Ajax 呼び出しを行い、そこから (適度なサイズの) チャンクで UI を構築します。