For developers: Save and discard changes
Each Fluent API call ends up with one of the following methods:
- SaveChanges()
This method is saving all the changes in the database - it commits the transaction. This means that you can initiate several Fluent API statements and when you call SaveChanges(), all actions are committed at once.
There is an overload of the SaveChanges() method - SaveChanges(bool UpgradeDatabase). It is used when you make structural changes to the database. It is required, for example, when you create new data types dynamically.
- CancelChanges()
This method discards any actions initiated within the current call.
- Done()
This method is used within child facades. It saves the changes in the current scope, but the transaction is not executed until you call the SaveChanges() method.
For more information, see For developers: Facades.
You can also save changes by implementing SaveChanges() on disposing fluent execution, as in the following code example:
This is useful, if you want to make several operations at once. For example, if you want to work with several types of content items, but execute only one transaction, as in the following code example:
For more information, see For developers: Create content blocks.