Condividi tramite


Classe SyncTable

Rappresenta le impostazioni client per una tabella coinvolta nella sincronizzazione.

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

Sintassi

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

Osservazioni

Per ogni tabella sincronizzata viene definita una tabella di sincronizzazione in cui vengono archiviate impostazioni quali la direzione di sincronizzazione. Ogni client può richiedere solo le tabelle di cui necessita e quindi non necessariamente tutte le tabelle rese disponibili dal provider di sincronizzazione server. Ad esempio, si considerino 20 tabelle, di cui 10 configurate per la sincronizzazione bidirezionale nel Provider di sincronizzazione server. Un client potrebbe richiedere solo 12 delle tabelle di solo download. Sebbene il server supporti il caricamento, il client non deve apportare modifiche o sincronizzare tutte le tabelle.

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.SyncTable

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 SyncTable
Spazio dei nomi Microsoft.Synchronization.Data