はい、絶対にできます。
同期するテーブルごとに SyncTable を作成し、それを SyncAgent の Configuration.SyncTables に追加します。
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"));
}
}