Hi,
An N-Tier sync is just like a normal sync, except that a proxy is used for the remote provider over WCF. Sync Framework will automatically resolve conflicts for an N-Tier sync according to the conflict resolution policy you've specified for the providers,
just like it does for a normal sync.
If I understand your question correctly, when there's a record with the same primary key on both the client and server databases, the behavior you see is that either the server record gets updated or the client record gets updated (depending on the conflict
resolution policy you've set). However, what you expect to see is that when there is a conflicting record, you want to keep both records, and modify the primary key of one of the records to remove the conflict. Sync Framework does not support that
behavior out of the box. The default sync behavior in a conflict situation is for one side (either client or server) to "win" that conflict, and update the other side.
You could try to partition your primary key ranges if you need to keep both records. For example, use odd integers for primary key on server, and even integers for primary key on clients. This way you will not run into conflicting scenarios.
Please let me know if you have other questions or concerns.
Thanks,
Minh.