Typically an ORM integrates a unit of work pattern that allows you to modify multiple objects then push the changes back to the database as a unit. This returns a chunk of data known as an aggregate root. The ORM pulls the data from the database and allows the developer to edit the data as an object in the code then returns it to the database. The ORM figures out what SQL to generate to send the data back to the database. This is called a unit of work pattern. It is effectively a transaction as it either all goes to the database or none.