問題タブ [sql-server-mars]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
entity-framework - Entity Framework 6非同期並列クエリは、接続プールに複数のアクティブな結果セットを使用しますか?
EF が作成している非常に大きなクエリがいくつかあるため、応答時間が遅くなり、CPU 使用率が高くなるため、最適化する方法として、MARS と非同期の並列クエリを実装して、複数のより単純な結果セットを並行して操作してプルバックしようと考えました。記憶に。
つまり、私はこれをしたいと思います:
DBContext
ただし、タスクごとに新しい接続を作成するため、これが接続プールを利用するかどうかはわかりません。
この記事を見つけましたが、Entity Framework を使用していません。
Core を使用してこれを見つけましたが、推奨される戦略ではありませんでした。
これは.NETフレームワーク用のEntity Frameworkを使用していますが、例としてストアドプロシージャを使用していますが、SPを呼び出すのではなく、3つの読み取りクエリを並行して発行したいだけです。
理想的には、linq を使用して (select Id, VendorName From Vendors....
文字列を使用するのではなく) SQL を生成するために複数の結果セットを達成し、文字列を使用せずに結果をクラスに自動マッピングする方法を探しています ( vendorID = (int)vendorReader["BusinessEntityID"];
)。
これは可能ですか、それとも夢物語ですか?