Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In Link 3 all data is divided into two three databases:

  • Configuration

  • Transactional

  • BackupFiles

The Configuration database holds configuration data such as partners, distributions and all the developer objects. Whereas the Transactional database and BackupFiles databases holds data generated by the flow such as interchanges and documents, documents and their associated raw files.

Although these entities are related across databases by id’s, there are NO database constraints enforcing the data consistency.

...

In many cases when updating multiple entities, it makes sense to join these updates in a database transaction. This gives you the possibility to roll back ALL changes if one of them fails.

...

Code Block
languagec#
using (var scope = transactionScopeFactory.CreateScope())
{
    try
    {
        //Updates to configuration data
        scope.Complete();
    }
    catch (Exception ex)
    {
        logger.LogError(ex, $"Exception occured: {ex.Message}");
    }
}

Example: Using transaction scopes across

...

databases.

Transactions that consists of updates to or just accesses multiple databases are called distributed transactions. Unfortunately these types of transactions are not supported and would result in a PlatformNotSupportedException.

...