Oui, vous pouvez absolument.
Créez une table de synchronisation pour chaque table que vous souhaitez synchroniser et ajoutez-la aux Configuration.SyncTables dans SyncAgent.
J'ai trouvé this article de Bill Ryan très instructif. Il explique comment filtrer les données dans chaque table, mais il y a des choses qui font ce que vous cherchez.
échantillon de Bill Ryan:
public class SampleSyncAgent : Microsoft.Synchronization.SyncAgent
{
public SampleSyncAgent()
{
SqlCeClientSyncProvider clientSyncProvider = new SqlCeClientSyncProvider(Properties.Settings.Default.ClientConnString, true);
this.LocalProvider = clientSyncProvider;
clientSyncProvider.ChangesApplied += new EventHandler<ChangesAppliedEventArgs>(clientSyncProvider_ChangesApplied);
this.RemoteProvider = new SampleServerSyncProvider();
SyncTable customerSyncTable = new SyncTable("Customer");
customerSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable;
customerSyncTable.SyncDirection = SyncDirection.DownloadOnly;**
this.Configuration.SyncTables.Add(customerSyncTable);
this.Configuration.SyncParameters.Add(new SyncParameter("@CustomerName", "Sharp Bikes"));
}
}