1

私はExecuteSqlCommandを1分間に数千回呼び出しており、それぞれがデータベースへのラウンドトリップです。コマンド自体がストアドプロシージャを呼び出し、パラメータはINTからNVARCHARS、「構造化」テーブル値パラメータまでさまざまです。SQLProfilerを介してEntityFrameworkによって生成されたSQLコマンドを見ると、かなりの量のデータがDBに送信されています。

SPからの戻り値がないことを考えると、それは非常に「ファイアアンドフォーゲット」です。SQLコマンドをバッチ処理して、たとえば10個のバッチを一度に送信してみたいと思います。これはEntityFrameworkを使用して可能ですか?Entity Frameworkに呼び出しごとに完全なSQLコマンドを返してもらい、SQLを自分で連結して、ExecuteSqlCommandを自分で呼び出す方法はありますか?

4

1 に答える 1

2

EntityFramework は現在、バッチ処理をサポートしていません。ただし、SQL クエリを実行しているだけの場合、EntityFramework を使用するメリットはありません。Sql コマンドをバッチで送信することがサポートされている純粋な ADO.NET の 1 つ下のレベルに進むことができます。詳細については、MSDN の投稿 ( http://msdn.microsoft.com/en-us/library/aadf8fk2​​.aspx ) をご覧ください。

于 2012-10-29T16:49:01.053 に答える