0
。 私はこの例である場合:.NET SyncFramework同期範囲
ローカルDB: 1.ジョン 2.ジョー 3.マーク
リモート: 1.ジョン 2.ジョー
とIを最終結果は、私は両方のデータベース内のすべての3つのレコードを持っているだろうということになりますが、彼らは両方に存在するので、同期プロセスは、(それらを挿入カント)レコード#1と#2のエラーを引き起こしているだろう。2つのデータベースを同期させますデフォルトでは、同期フレームワークは文句を言わない、この場合には何もするし、私だけのためにOKである、継続されます。両方のデータベースからのみ非同一のレコードが(結果として、これらのエラーが最初の場所で生成されていないことはありません)同期するように
同期スコープを設定する方法はありますか?
私のコードは、(Microsoftのサンプルコードから)次のようになります。
SqlSyncScopeProvisioning serverProvision = new SqlSyncScopeProvisioning(remoteServerConn);
DbSyncScopeDescription remoteScopeDesc = new DbSyncScopeDescription(remoteProvisioningScopeName);
DbSyncTableDescription tableDesc = SqlSyncDescriptionBuilder.GetDescriptionForTable(remoteTableName, remoteServerConn);
remoteScopeDesc.Tables.Add(tableDesc);
serverProvision.PopulateFromScopeDescription(remoteScopeDesc); serverProvision.SetCreateTableDefault(DbSyncCreationOption.Skip);
serverProvision.Apply();
SqlSyncScopeProvisioning clientProvision = new SqlSyncScopeProvisioning(localServerConn);
DbSyncScopeDescription localScopeDesc = SqlSyncDescriptionBuilder.GetDescriptionForScope(remoteProvisioningScopeName, remoteServerConn);
clientProvision.PopulateFromScopeDescription(localScopeDesc);
clientProvision.Apply();
SyncOrchestrator syncOrchestrator = new SyncOrchestrator();
syncOrchestrator.LocalProvider = new SqlSyncProvider(remoteProvisioningScopeName, localServerConn);
syncOrchestrator.RemoteProvider = new SqlSyncProvider(remoteProvisioningScopeName, remoteServerConn);
syncOrchestrator.Direction = syncDirection;
((SqlSyncProvider)syncOrchestrator.LocalProvider).ApplyChangeFailed += new EventHandler<DbApplyChangeFailedEventArgs>(Program_ApplyChangeFailed);
SyncOperationStatistics syncStats = syncOrchestrator.Synchronize();