SaveChangeAction Enumeration

Represents the type of action that is indicated by a change.

Namespace:  Microsoft.Synchronization
Assembly:  Microsoft.Synchronization (in Microsoft.Synchronization.dll)

Syntax

'Declaration
Public Enumeration SaveChangeAction
'Usage
Dim instance As SaveChangeAction
public enum SaveChangeAction
public enum class SaveChangeAction
type SaveChangeAction
public enum SaveChangeAction

Members

Member name Description
Create The item is new and is created in the destination item store.
UpdateVersionOnly Item data is not changed in the destination item store. The version is overwritten in the destination metadata. It also occurs when the item from the destination provider is selected as the winner of a conflict.
UpdateVersionAndData Item data is applied to the destination item store. Existing data is overwritten. The version provided overwrites the existing version in the destination metadata. This action corresponds to an item creation, item update, or change unit update in the source replica. It also occurs when the item from the source provider is selected as the winner of a conflict.
UpdateVersionAndMergeData Item data applied to the destination item store. Existing item data is merged with the updated item data by using some provider-specific method. The version overwrites the existing version in the destination metadata. This action occurs when the conflict resolution action is Merge.
DeleteAndStoreTombstone The item is deleted from the destination item store. A tombstone is saved in the destination metadata. This action corresponds to an item that has been deleted from the source replica.
DeleteAndRemoveTombstone The item is deleted from the destination item store. A tombstone is not retained in the destination metadata. This action is invoked during forgotten knowledge recovery and corresponds to item deletes where the source replica has cleaned up the tombstone.
RenameSourceAndUpdateVersionAndData The change sent from the source provider is renamed so that it no longer collides with the conflicting item on the destination replica, and the source change is applied to the destination replica.
RenameDestinationAndUpdateVersionData The conflicting item on the destination replica is renamed so that it no longer collides with the change sent from the source provider, and the source change is applied to the destination replica.
DeleteConflictingAndSaveSourceItem The source change is applied to the destination replica and the conflicting destination item is deleted from the destination replica.
StoreMergeTombstone Store a merge tombstone in the destination metadata. Consider a merge action that specifies id1 as the losing item ID and id2 as the winning item ID. The merge tombstone contains id1 as the losing item ID and id2 as the winning item ID. If a merge tombstone already exists in the destination replica that contains id1 as the losing item ID and another item ID, id3, as the winning item ID, perform the following steps.
  1. If id2 is less than id3, create and store two merge tombstones. One merge tombstone contains id1 as the losing item ID and id2 as the winning item ID. The other merge tombstone contains id2 as the losing item ID and id3 as the winning item ID. This second merge tombstone may already exist, in which case it is simply left alone. In this way, a chain of merge tombstones is created, ordered by item ID.

If id3 is less than id2, return an error.

ChangeIdUpdateVersionAndMergeData The data from the source item is combined with the destination item. Store a merge tombstone for the losing item ID, by following the same steps outlined for StoreMergeTombstone.
ChangeIdUpdateVersionAndSaveData Store a merge tombstone for the losing item ID, by following the same steps outlined for StoreMergeTombstone.
ChangeIdUpdateVersionAndDeleteAndStoreTombstone Store a merge tombstone for the losing item ID, by following the same steps outlined for StoreMergeTombstone. Delete the item identified by the winning item ID, and store a tombstone for it.
ChangeIdUpdateVersionOnly Store a merge tombstone for the losing item ID, by following the same steps outlined for StoreMergeTombstone. Apply only metadata for the winning item change.
CreateGhost Create a ghost for the item. A ghost is an item that contains both a value that indicates whether it was in the filter recently, and a move-out version. A move-out version indicates the version of the change that moved the item out of the filter.
MarkItemAsGhost Change the active item to a ghost. To do this, store a value that indicates that the item was in the filter recently, store the version of this change as the move-out version for the item, and remove the item data from the item store.
UnmarkItemAsGhost Activate the ghost item. To do this, remove the move-out version from the metadata, and store the item data in the item store.
UpdateGhost Update the version for a ghost item. This is an update to the current version of the item, not the move-out version.
DeleteGhostAndStoreTombstone Change a ghost item to a tombstone. This indicates that the item has been deleted. To do this, store a value that indicates the item has been deleted.
DeleteGhostWithoutTombstone Remove the ghost item from the metadata store and do not store a tombstone for the item.

Remarks

When the provider is not using a transaction for the whole change batch, the provider must retrieve updated knowledge from the SaveChangeContext object and save it at the same time it applies the change.

See Also

Reference

Microsoft.Synchronization Namespace