Introduction

The TMAPI-based interfaces such as ITopic, IAssociation and so on provide methods for both topic map read and update. These interfaces are relatively efficient when the topics and associations you access are small and / or you are modifying all of the topic or association structure. This is because the implementations of these classes retrieve the entire topic or association from the database, perform any modifications locally and then only return the state to the database when you call the Save() method.

However there are many cases where an application is required to only perform some relatively small incremental update on a large number of topics or associations in a database and in those cases, the overhead of retrieving the entire structure for an ITopic or IAssociation instance from the database can cause performance problems. For these circumstances we have provided a transaction-oriented API for topic map updates.

Unlike TMAPI which deals with objects and object states, the transactional API deals with operations on a topic map. Each operation in the transactional API is processed by a database stored procedure call which updates some part of a topic or association. Individual calls are therefore processed much more quickly than if the equivalent operation was implemented using TMAPI.