Freigeben über


SyncGroup-Klasse

Stellt eine Gruppe von SyncTable-Objekten dar und einen Mechanismus bereit, der die konsistente Anwendung von Änderungen für diese Tabellen sicherstellt.

Namespace: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (in microsoft.synchronization.data.dll)

Syntax

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

Hinweise

Nachdem eine Synchronisierungstabelle definiert wurde, kann sie einer Synchronisierungsgruppe hinzugefügt werden. Eine Synchronisierungsgruppe ist ein Mechanismus, mit dem sichergestellt wird, dass Änderungen für einen Satz Tabellen konsistent übernommen werden. Wenn Tabellen in einer Synchronisierungsgruppe enthalten sind, werden Änderungen an diesen Tabellen als Einheit übertragen und in ein und derselben Transaktion übernommen. Schlägt eine Änderung in der Gruppe fehl, werden die Änderungen für die gesamte Gruppe bei der nächsten Synchronisierung erneut übertragen.

Beispiel

Das folgende Codebeispiel stammt aus einer Klasse, die von der SyncAgent-Klasse abgeleitet ist. Der Code erstellt zwei Synchronisierungsgruppen und drei Synchronisierungstabellen. Die Customer-Tabelle wird der Customer-Gruppe und die OrderHeader-Tabelle sowie die OrderDetail-Tabelle werden der Order-Gruppe hinzugefügt. Alle Tabellen können nur heruntergeladen werden. Wenn eine Tabelle auf einem Client vorhanden ist, wird sie verworfen und während der ersten Synchronisierung neu erstellt. Eine Darstellung dieses Codes im Kontext eines vollständigen Beispiels finden Sie unter Vorgehensweise: Filtern von Zeilen und Spalten.

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

Vererbungshierarchie

System.Object
  Microsoft.Synchronization.Data.SyncGroup

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Verweis

SyncGroup-Member
Microsoft.Synchronization.Data-Namespace