Partager via


Énumération TableCreationOption

Définit les options qui sont disponibles pour créer une table dans la base de données client.

Espace de noms: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (dans microsoft.synchronization.data.dll)

Syntaxe

'Déclaration
Public Enumeration TableCreationOption
'Utilisation
Dim instance As TableCreationOption
public enum TableCreationOption
public enum class TableCreationOption
public enum TableCreationOption
public enum TableCreationOption

Membres

  Nom de membre Description
CreateNewTableOrFail Créez la table dans la base de données client. Si une table existante porte le même nom, levez une exception. 
DropExistingOrCreateNewTable Créez la table dans la base de données client. Si une table existante porte le même nom, supprimez-la au préalable. 
TruncateExistingOrCreateNewTable Créez la table dans la base de données client si elle n'existe pas. Si une table existante porte le même nom, supprimez toutes les lignes de cette table. 
UploadExistingOrCreateNewTable Créez la table dans la base de données client si elle n'existe pas. Si une table existante porte le même nom, téléchargez toutes les lignes depuis cette table lors de la première synchronisation. Cette option est uniquement valide avec SyncDirection défini sur Bidirectional ou UploadOnly
UseExistingTableOrFail Utilisez une table existante dans la base de données client qui porte le même nom. Si la table n'existe pas, levez une exception. 

Notes

La propriété TableCreationOption détermine la façon de gérer la création de table dans la base de données client, en particulier lorsqu'elle se rapporte à des tables existantes du même nom dans la base de données. Pour plus d'informations, consultez Procédure : initialiser la base de données client et travailler avec un schéma de table.

Exemple

L'exemple de code suivant provient d'une classe qui dérive de SyncAgent. Le code crée deux groupes de synchronisation et trois tables de synchronisation. La table Customer est ajoutée au groupe Customer, et les tables OrderHeader et OrderDetail sont ajoutées au groupe Order. Toutes les tables sont téléchargeables uniquement. Si une table existe au niveau du client, elle est supprimée, puis créée à nouveau lors de la synchronisation initiale. Pour afficher ce code dans le contexte d'un exemple complet, consultez Procédure : filtrer des lignes et des colonnes.

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

Voir aussi

Référence

Espace de noms Microsoft.Synchronization.Data