Delete Triggers

Delete triggers implement the AbstractDeleteTrigger interface and follow much the same pattern as PUT triggers.

Figure 1: Triggers - Delete

Example: Cascading deletes

public class CascadeDeleteTrigger : AbstractDeleteTrigger

    public override void OnDelete(string key, TransactionInformation txInfo)
        var document = Database.Get(key, txInfo);
        if (document == null)
        Database.Delete(document.Metadata.Value<string>("Cascade-Delete"), null, txInfo);

In this case, we perform another delete operation as part of the current delete operation. This operation is done under the same transaction as the original operation.