SyncTable クラス

同期にかかわるテーブルのクライアント設定を表します。

名前空間: Microsoft.Synchronization.Data
アセンブリ: Microsoft.Synchronization.Data (microsoft.synchronization.data.dll 内)

構文

'宣言
<SerializableAttribute> _
Public Class SyncTable
'使用
Dim instance As SyncTable
[SerializableAttribute] 
public class SyncTable
[SerializableAttribute] 
public ref class SyncTable
/** @attribute SerializableAttribute() */ 
public class SyncTable
SerializableAttribute 
public class SyncTable

解説

同期テーブルは、同期対象のテーブルごとに定義します。同期テーブルには、同期の方向などの設定が格納されます。各クライアントでは、必要なテーブルのみを要求できます。これには、サーバー同期プロバイダーによって使用可能となるすべてのテーブルが含まれるとは限りません。たとえば、20 個のテーブルが存在し、そのうちの 10 個のテーブルがサーバー同期プロバイダーで双方向同期用に構成されているとします。ところが、クライアントは、ダウンロードのみの同期として 12 個のテーブルしか要求しない可能性もあります。サーバーではアップロードがサポートされていますが、クライアント側で、変更を行ったり、すべてのテーブルを同期したりする必要はありません。

次のコード例では、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)

継承階層

System.Object
  Microsoft.Synchronization.Data.SyncTable

スレッド セーフ

この型の public static (Visual Basic では Shared ) メンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

参照

リファレンス

SyncTable メンバー
Microsoft.Synchronization.Data 名前空間