Condividi tramite


Classe SyncGroup

Rappresenta un gruppo di oggetti SyncTable e fornisce un meccanismo che garantisce l'applicazione coerente delle modifiche in tali tabelle.

Spazio dei nomi: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (in microsoft.synchronization.data.dll)

Sintassi

'Dichiarazione
<SerializableAttribute> _
Public Class SyncGroup
'Utilizzo
Dim instance As SyncGroup
[SerializableAttribute] 
public class SyncGroup
[SerializableAttribute] 
public ref class SyncGroup
/** @attribute SerializableAttribute() */ 
public class SyncGroup
SerializableAttribute 
public class SyncGroup

Osservazioni

Dopo aver definito una tabella di sincronizzazione, è possibile aggiungerla a un gruppo di sincronizzazione. Un gruppo di sincronizzazione è un meccanismo che garantisce l'applicazione coerente delle modifiche per un set di tabelle. Se le tabelle sono incluse in un gruppo di sincronizzazione, le modifiche a tali tabelle vengono trasferite come un'unità e applicate in una transazione singola. In caso di mancata applicazione di una modifica al gruppo, alla successiva sincronizzazione verrà eseguito un nuovo tentativo di applicazione delle modifiche all'intero gruppo.

Esempio

Nell'esempio di codice seguente viene illustrata una classe che deriva da SyncAgent. Il codice consente di creare due gruppi di sincronizzazione e tre tabelle di sincronizzazione. La tabella Customer viene aggiunta al gruppo Customer, mentre le tabelle OrderHeader e OrderDetail vengono aggiunte al gruppo Order. Tutte le tabelle sono di solo download. Se una tabella esiste già nel client, verrà eliminata e ricreata durante la sincronizzazione iniziale. Per visualizzare questo codice nel contesto di un esempio completo, vedere Procedura: filtrare righe e colonne.

//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)

Gerarchia di ereditarietà

System.Object
  Microsoft.Synchronization.Data.SyncGroup

Thread Safety

Tutti i membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread safe. I membri di istanza non hanno garanzia di essere thread safe.

Vedere anche

Riferimento

Membri SyncGroup
Spazio dei nomi Microsoft.Synchronization.Data