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)