Share via


TableCreationOption 枚举

定义可用于在客户端数据库中创建表的选项。

命名空间:  Microsoft.Synchronization.Data
程序集:  Microsoft.Synchronization.Data(在 Microsoft.Synchronization.Data.dll 中)

语法

声明
Public Enumeration TableCreationOption
用法
Dim instance As TableCreationOption
public enum TableCreationOption
public enum class TableCreationOption
type TableCreationOption
public enum TableCreationOption

成员

成员名称 说明
CreateNewTableOrFail 在客户端数据库中创建表。如果某个现有表具有相同的名称,则引发异常。
UseExistingTableOrFail 使用客户端数据库中与要创建的表同名的现有表。如果该表不存在,则引发异常。
TruncateExistingOrCreateNewTable 如果客户端数据库中不存在要创建的表,则在客户端数据库中创建该表。如果某个现有表具有相同的名称,则删除此表中的所有行。
DropExistingOrCreateNewTable 在客户端数据库中创建表。如果某个现有表具有相同的名称,则先删除现有表。
UploadExistingOrCreateNewTable 如果客户端数据库中不存在要创建的表,则在客户端数据库中创建该表。如果某个现有表具有相同的名称,则在首次同步时上载此表中的所有行。此选项仅在 SyncDirectionBidirectionalUploadOnly 时有效。

注释

TableCreationOption 属性确定如何处理客户端数据库中的表创建,特别是与数据库中现有的同名表相关时。有关更多信息,请参见如何初始化客户端数据库和处理表架构

示例

下面的代码示例摘自从 SyncAgent 派生的类。代码创建两个同步组和三个同步表。Customer 表添加到 Customer 组,OrderHeader 和 OrderDetail 表添加到 Order 组。所有表都仅限下载。如果某个表在客户端存在,则会在初始同步期间删除并重新创建该表。若要在完整示例上下文中查看此代码,请参见如何筛选行和列

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

请参阅

参考

Microsoft.Synchronization.Data 命名空间