3

いくつかの他のエンティティと関連付けられているドメイン オブジェクトがあるとします (もちろん、複数のテーブルにマップされています)。そして、マスターと関連付けられたエンティティに変更を加えました。当然、EF は保存時に複数のテーブルでこれを更新する必要があります。

ObjectContext であろうと DbContext であろうと、SaveChanges() メソッドを呼び出すと、Entity Framework に「このコンテキストで行われたすべての変更を基になるデータベースに保存する」ように指示されます。

「SaveChanges() の背後で何が起こっているのか」を教えてもらえますか?

結果として得られるすべての SQL ステートメント INSERT/UPDATE/DELETE は、準備済みステートメントとして一度にデータベースに移動しますか?

または、EF は DB との間で行ったり来たりして、SQL ステートメントを 1 つずつ実行していますか?

これを切り替えるためのEFの構成はありますか?

4

2 に答える 2

2

現時点では、CUD 操作のステートメントはバッチ処理されません。これを修正する作業項目があります。お気軽に賛成票を投じてください

于 2013-04-10T18:58:28.440 に答える
0

私が理解していることから、変更された各エンティティは、データベースへのラウンドトリップになります (すべて単一のトランザクションによってバインドされます)。この動作を変更する構成を認識していませんが、この「バッチ処理」機能を実現する EF 実装が存在しないとは言いません。箱から出してすぐに利用できるとは思いません。

于 2013-04-10T13:34:59.067 に答える