vinodpthmn
vinodpthmn

Reputation: 1062

What is happening behind EF SaveChanges()

Assume that I have a domain object which has association with couple of other entities (ofcourse mapped to multiple tables). And I made changes in master and associated entities. Naturally EF has to update this in multiple tables on save.

Whether it be ObjectContext or DbContext, a call to SaveChanges() method will tell Entity Framework to "Saves all changes made in this context to the underlying database."

Could anyone tell me "What is happening behind SaveChanges()"?

Is all resulting sql statements INSERT/UPDATE/DELETE goes to database in one go as prepared statement?

or is EF doing back and forth with DB to execute the sql statement one by one?

Is there any configuration in EF to switch between this?

Upvotes: 3

Views: 651

Answers (2)

Pawel
Pawel

Reputation: 31610

At the moment statements for CUD operations are not batched. We have a work item to fix this. Feel free to upvote

Upvotes: 2

TMcManemy
TMcManemy

Reputation: 824

From what I understand, each modified entity will result in a roundtrip to the database (all bound by a single transaction). While I'm not aware of any configuration that will change this behavior, I won't say that there are not EF implementations out there that achieve this "batching" functionality. I just don't think they are available, out of the box.

Upvotes: 0

Related Questions