I am trying to provision a few scopes on the same table to synchronize different sets of the data within the table. The provisioning works great with no errors. When I go to synchronize, however, the call to SyncOrchestrator.Synchronize() times out.
When I sync just one of the scopes, it appears that all of the data is being synchronized, not just the data being defined by the scope filter.
Here is my provisioning code for a one of the scopes. The scopes are each run in a separate thread so that they are synchronized concurrently.
Server Provisioning:
var remoteLogVariableScopeDescription = new DbSyncScopeDescription(string.Format("{0}_{1}", DatabaseID, scopeName));
remoteLogVariableScopeDescription.Tables.Add(SqlCeSyncDescriptionBuilder.GetDescriptionForTable("TableName", localConnection));
var remoteDatabaseConfiguration = new SqlSyncScopeProvisioning(remoteConnection, remoteLogVariableScopeDescription);
remoteDatabaseConfiguration.ObjectPrefix = string.Format("Sync_{0}", scopeName);
remoteDatabaseConfiguration.Tables["TableName"].AddFilterColumn("Time);
remoteDatabaseConfiguration.Tables["TableName"].FilterClause = [side].Time >= DATEADD(minute, -1, GETDATE());
remoteDatabaseConfiguration.SetCreateTableDefault(DbSyncCreationOption.Skip);
remoteDatabaseConfiguration.SetUseBulkProceduresDefault(true);
remoteDatabaseConfiguration.CommandTimeout = 30;
remoteDatabaseConfiguration.Apply()
Local Provisioning:
DbSyncScopeDescription localFrequentScopeDescription = SqlSyncDescriptionBuilder.GetDescriptionForScope(string.Format("{0}_{1}", DatabaseID, scopeName), string.Format("Sync_{0}", scopeName), remoteConnection);
var localDatabaseConfiguration = new SqlCeSyncScopeProvisioning(localConnection, localFrequentScopeDescription);
localDatabaseConfiguration.ObjectPrefix = string.Format("Sync_{0}", scopeName);
localDatabaseConfiguration.SetCreateTableDefault(DbSyncCreationOption.Skip);
localDatabaseConfiguration.Apply();
My questions are: Is the scope filter I provided possible? Can you run multiple scopes on the same table concurrently?
Thanks in advance for any help!