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
public enum TableCreationOption
public enum TableCreationOption

メンバー

  メンバー名 説明
CreateNewTableOrFail クライアント データベースにテーブルを作成します。同名の既存のテーブルがある場合は、例外をスローします。 
DropExistingOrCreateNewTable クライアント データベースにテーブルを作成します。同名の既存のテーブルがある場合は、まず既存のテーブルを削除します。 
TruncateExistingOrCreateNewTable 同名のテーブルが存在しない場合は、クライアント データベースにテーブルを作成します。同名の既存のテーブルがある場合は、このテーブルからすべての行を削除します。 
UploadExistingOrCreateNewTable 同名のテーブルが存在しない場合は、クライアント データベースにテーブルを作成します。同名の既存のテーブルがある場合は、最初の同期でこのテーブルからすべての行をアップロードします。このオプションは、SyncDirectionBidirectional または UploadOnly の場合にのみ有効です。 
UseExistingTableOrFail クライアント データベース内の、同名の既存のテーブルを使用します。テーブルが存在しない場合は、例外をスローします。 

解説

特にデータベースにある同名の既存のテーブルに関連する場合に、TableCreationOption プロパティによってクライアント データベースのテーブル作成の処理方法が決定されます。詳細については、「クライアント データベースを初期化してテーブル スキーマを操作する方法」を参照してください。

次のコード例では、SyncAgent から派生するクラスを示します。このコードでは、2 つの同期グループおよび 3 つの同期テーブルが作成されます。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 名前空間