SyncGroup クラス

SyncTable オブジェクトのグループを表し、これらのテーブルに対する変更が一貫して適用されるようにする機構を提供します。

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

構文

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

解説

同期テーブルは、定義した後、同期グループに追加できます。同期グループとは、一連のテーブルに対する変更が一貫して適用されるようにするメカニズムです。テーブルが同期グループに含まれている場合、これらのテーブルへの変更はまとめて転送され、1 つのトランザクション内で適用されます。グループ内のいずれかの変更が失敗すると、グループ全体に対する変更が次の同期時に再試行されます。

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

スレッド セーフ

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

参照

リファレンス

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