0

データベースとのやり取りに MS データ アクセス アプリケーション ブロックを使用していますが、そのパフォーマンスが優れていることがわかりました。100 個以上のレコードを追加したい場合は、それらの 100 個のレコードを xml 形式でストアド プロシージャに送信し、そこから一括挿入を行います。ここで、Entity Framework を使用する必要があります。私は以前に EF を使用したことがないため、EF とその仕組みに精通していません。

別のフォーラムで、「バッチ挿入およびデータ更新の場合にEntity Frameworkがどのように機能するか」などの質問をして、回答を得ました

私の経験から、EF はバッチ挿入またはバッチ更新をサポートしていません。

これが行うことは、個々の挿入ステートメントまたは更新ステートメントを発行することですが、SaveChanges() を呼び出す前にすべての変更を dbcontect に追加すると、それらすべてがトランザクションにラップされます。

EF が一括挿入/更新を処理できないというのは本当ですか? バッチ挿入/更新の場合、EF はデータをループに挿入しますか? 一度にコミットする必要があるレコードが 100 件ある場合、EF はそれを実行できませんか?

それが正しくない場合は、EF がバッチ挿入/更新を実行できるため、コードの記述方法を教えてください。また、どのようなSQLが生成されるかを見るコツも教えてください。

可能であれば、EF を使用したバッチ挿入/更新のサンプル コードを教えてください。また、真のバッチ操作をサポートする EF のバージョンも教えてください。ありがとう

4

1 に答える 1