This sample shows how to use a single web method call to execute all message requests in a collection as part of a single database transaction. It is a common requirement in business applications to coordinate changes of multiple records in the system so that either all the data changes succeed, or none of them do. In database terms, this is known as executing multiple operations in a single transaction with the ability to roll back all data changes should any one operation fail.
You can execute two or more organization service requests in a single database transaction using the ExecuteTransactionRequest message request.
See How to run this sample for information about how to run this sample.
The ExecuteTransactionRequest
message is intended to be used in a scenario where it contains data that is needed to execute one or more message requests in a single database transaction, and optionally return a collection of results.
In order to simulate the scenario described in What this sample does, the sample will do the following:
Checks for the current version of the org.
- The
ExecuteTransactionRequest
method creates theExecuteTransactionRequest
object. - The
OrganizationRequestCollection
method creates an empty organization request collection. - The
CreateRequest
method is added for each table to the request collection.
Display an option to delete the records created in the Setup. The deletion is optional in case you want to examine the entities and data created by the sample. You can manually delete the records to achieve the same result.