I’m trying to sync the following two tables.
In destination db, ParentTable cannot be updated or deleted; however, ChildTable sync properly.
Am I missing something? Thank in advance!

DbSyncScopeDescription scopeDesc = new DbSyncScopeDescription("Name");
scopeDesc.Tables.Add(SqlSyncDescriptionBuilder.GetDescriptionForTable("ParentTable", sqlSourceConn));
scopeDesc.Tables.Add(SqlSyncDescriptionBuilder.GetDescriptionForTable("ChildTable", sqlSourceConn));
var sqlSourceProv = new SqlSyncScopeProvisioning(sqlSourceConn, scopeDesc);
sqlSourceProv.CommandTimeout = 3600;
if (!sqlSourceProv.ScopeExists("Name"))
sqlSourceProv.Apply();
var sqlDestinationProv = new SqlSyncScopeProvisioning(sqlDestinationConn, scopeDesc);
sqlDestinationProv.CommandTimeout = 3600;
if (!sqlDestinationProv.ScopeExists("Name"))
sqlDestinationProv.Apply();
var destinationProvider = new SqlSyncProvider("Name", sqlDestinationConn);
var sourceProvider = new SqlSyncProvider("Name", sqlSourceConn);
destinationProvider.MemoryDataCacheSize = MemorySize;
sourceProvider.MemoryDataCacheSize = MemorySize;
destinationProvider.ApplicationTransactionSize = BatchSize;
SyncOrchestrator orch = new SyncOrchestrator();
orch.RemoteProvider = destinationProvider;
orch.LocalProvider = sourceProvider;
orch.Direction = SyncDirectionOrder.Upload;
SyncOperationStatistics stats = orch.Synchronize();
if you have an FK relationship, it must be raising an error during the conflict (cannot delete the parent with a child)… you can verify this by subscribing to the ApplyChangeFailedEvent. you can set conflict resolution to get over the the issue.