Partager via


Classe SyncGroup

Représente un groupe d'objets SyncTable et fournit un mécanisme afin de garantir l'application cohérente des modifications pour ces tables.

Espace de noms: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (dans microsoft.synchronization.data.dll)

Syntaxe

'Déclaration
<SerializableAttribute> _
Public Class SyncGroup
'Utilisation
Dim instance As SyncGroup
[SerializableAttribute] 
public class SyncGroup
[SerializableAttribute] 
public ref class SyncGroup
/** @attribute SerializableAttribute() */ 
public class SyncGroup
SerializableAttribute 
public class SyncGroup

Notes

Une fois qu'une table de synchronisation est définie, il est possible de l'ajouter à un groupe de synchronisation. Un groupe de synchronisation est un mécanisme destiné à garantir l'application cohérente des modifications d'un ensemble de tables. Si des tables sont incluses dans un groupe de synchronisation, les modifications apportées à ces tables sont transférées en tant qu'unité et appliquées dans une transaction unique. Si des modifications échouent dans le groupe, les modifications du groupe entier sont de nouveau tentées lors de la synchronisation suivante.

Exemple

L'exemple de code suivant provient d'une classe qui dérive de SyncAgent. Le code crée deux groupes de synchronisation et trois tables de synchronisation. La table Customer est ajoutée au groupe Customer, et les tables OrderHeader et OrderDetail sont ajoutées au groupe Order. Toutes les tables sont téléchargeables uniquement. Si une table existe au niveau du client, elle est supprimée, puis créée à nouveau lors de la synchronisation initiale. Pour afficher ce code dans le contexte d'un exemple complet, consultez Procédure : filtrer des lignes et des colonnes.

//Create two SyncGroups so that changes to OrderHeader
//and OrderDetail are made in one transaction. Depending on
//application requirements, you might include Customer
//in the same group.
SyncGroup customerSyncGroup = new SyncGroup("Customer");
SyncGroup orderSyncGroup = new SyncGroup("Order");

//Add each table: specify a synchronization direction of
//DownloadOnly.
SyncTable customerSyncTable = new SyncTable("Customer");
customerSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable;
customerSyncTable.SyncDirection = SyncDirection.DownloadOnly;
customerSyncTable.SyncGroup = customerSyncGroup;
this.Configuration.SyncTables.Add(customerSyncTable);

SyncTable orderHeaderSyncTable = new SyncTable("OrderHeader");
orderHeaderSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable;
orderHeaderSyncTable.SyncDirection = SyncDirection.DownloadOnly;
orderHeaderSyncTable.SyncGroup = orderSyncGroup;
this.Configuration.SyncTables.Add(orderHeaderSyncTable);           

SyncTable orderDetailSyncTable = new SyncTable("OrderDetail");
orderDetailSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable;
orderDetailSyncTable.SyncDirection = SyncDirection.DownloadOnly;
orderDetailSyncTable.SyncGroup = orderSyncGroup;
this.Configuration.SyncTables.Add(orderDetailSyncTable);
'Create two SyncGroups so that changes to OrderHeader
'and OrderDetail are made in one transaction. Depending on
'application requirements, you might include Customer
'in the same group.
Dim customerSyncGroup As New SyncGroup("Customer")
Dim orderSyncGroup As New SyncGroup("Order")

'Add each table: specify a synchronization direction of
'DownloadOnly.
Dim customerSyncTable As New SyncTable("Customer")
customerSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable
customerSyncTable.SyncDirection = SyncDirection.DownloadOnly
customerSyncTable.SyncGroup = customerSyncGroup
Me.Configuration.SyncTables.Add(customerSyncTable)

Dim orderHeaderSyncTable As New SyncTable("OrderHeader")
orderHeaderSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable
orderHeaderSyncTable.SyncDirection = SyncDirection.DownloadOnly
orderHeaderSyncTable.SyncGroup = orderSyncGroup
Me.Configuration.SyncTables.Add(orderHeaderSyncTable)

Dim orderDetailSyncTable As New SyncTable("OrderDetail")
orderDetailSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable
orderDetailSyncTable.SyncDirection = SyncDirection.DownloadOnly
orderDetailSyncTable.SyncGroup = orderSyncGroup
Me.Configuration.SyncTables.Add(orderDetailSyncTable)

Hiérarchie d'héritage

System.Object
  Microsoft.Synchronization.Data.SyncGroup

Sécurité des threads

Tous les membres publics statiques (Partagés en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Membres SyncGroup
Espace de noms Microsoft.Synchronization.Data