Compartilhar via


Enumeração TableCreationOption

Define as opções disponíveis para a criação de uma tabela no banco de dados do cliente.

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

Sintaxe

'Declaração
Public Enumeration TableCreationOption
'Uso
Dim instance As TableCreationOption
public enum TableCreationOption
public enum class TableCreationOption
public enum TableCreationOption
public enum TableCreationOption

Membros

  Nome do membro Descrição
CreateNewTableOrFail Crie a tabela no banco de dados do cliente. Se uma tabela existente tiver o mesmo nome, lance uma exceção. 
DropExistingOrCreateNewTable Crie a tabela no banco de dados do cliente. Se uma tabela existente tiver o mesmo nome, descarte a tabela existente primeiro. 
TruncateExistingOrCreateNewTable Crie a tabela no banco de dados do cliente se ela não existir. Se uma tabela existente tiver o mesmo nome, exclua todas as linhas dessa tabela. 
UploadExistingOrCreateNewTable Crie a tabela no banco de dados do cliente se ela não existir. Se uma tabela existente tiver o mesmo nome, carregue todas as linhas dessa tabela na primeira sincronização. Essa opção é válida somente com SyncDirection de Bidirectional ou UploadOnly
UseExistingTableOrFail Use uma tabela existente no banco de dados do cliente que tenha o mesmo nome. Se a tabela não existir, lance uma exceção. 

Comentários

A propriedade TableCreationOption determina como tratar a criação de tabelas no banco de dados do cliente, principalmente no que se refere a tabelas existentes com o mesmo nome no banco de dados. Para obter mais informações, consulte Como inicializar o banco de dados cliente e trabalhar com esquemas de tabela.

Exemplo

O exemplo de código a seguir é de uma classe derivada de SyncAgent. O código cria dois grupos de sincronização e três tabelas de sincronização. A tabela Customer é adicionada ao grupo Customer, e as tabelas OrderHeader e OrderDetail são adicionadas ao grupo Order. Todas as tabelas são somente para download. Se já existir uma tabela no cliente, ela será descartada e recriada durante a sincronização inicial. Para exibir esse código no contexto de um exemplo completo, consulte Como filtrar linhas e colunas.

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

Consulte também

Referência

Namespace Microsoft.Synchronization.Data