As far as I know there are two ways of performing synchronization between databases:
- Using the SyncAgent class from Sync Framework 1.0.
- Using the SyncOrchestrator class from Sync Framework 2.1.
The SyncAgent class allows to use the SyncGroup class to ensure that several tables will be synchronized in one transaction.
Is it possible to achieve same functionality by using the SyncOrchestrator and SqlSyncProvider classes? If it it possible, please describe how to do this.
2012年4月4日 23:39版主Scope is the the equivalent of a SyncGroup in SyncOrchestrator/SqlSyncProvider. similar to a sync group, tables in a scope are synchronized in a transaction.
- 已標示為解答 Wolf007 2012年4月5日 3:49
Scope is the the equivalent of a SyncGroup in SyncOrchestrator/SqlSyncProvider. similar to a sync group, tables in a scope are synchronized in a transaction.
Thank you for response. Sync groups have a benefit over scopes. It is possible to create several sync groups and run synchronization (SyncAgent.Synchronize) once for all sync groups. Using scopes I will have to run multiple synchronizations manually (SyncOrchestrator.Synchronize). But it is not big deal.
There is one important thing. Tables in a scope are synchronized in one transaction only when SqlSyncProvider.ApplicationTransactionSize is set to 0. Otherwise multiple transactions may be created (depending on size of data) for a scope.