Here is my scenario...
I have restored a live database on my local machine. I de-provision it and re-provision it. I set up the proxy from my client to point at my local WCF services. I delete any local CE database and do a full sync. The appropriate records
are synced to the client as expected.
On subsequent syncs, 293 records are updated to the client every time I sync. I can see this from the server logs...
INFO , WcfSvcHost, 10, 08/28/2013 18:08:22:121, ----- Updates for Table "InspectionHeader" -----
INFO , WcfSvcHost, 10, 08/28/2013 18:08:23:287, Applied 75 of 75 rows with bulk command BulkUpdateCommand
INFO , WcfSvcHost, 10, 08/28/2013 18:08:23:298, Applied 75 of 75 rows with bulk command BulkUpdateCommand
INFO , WcfSvcHost, 10, 08/28/2013 18:08:23:308, Applied 75 of 75 rows with bulk command BulkUpdateCommand
INFO , WcfSvcHost, 10, 08/28/2013 18:08:23:321, Applied 68 of 68 rows with bulk command BulkUpdateCommand
INFO , WcfSvcHost, 10, 08/28/2013 18:08:23:326, 293 Updates Applied
INFO , WcfSvcHost, 10, 08/28/2013 18:08:23:327, --- End Updates for Table "InspectionHeader" ---
This happens every time I sync. This happens with other scopes and tables, I chose this scope/table arbitrarily.
This also seems to only happen when I am syncing against my local machine.
I've done some profiling and when sync framework does its Select Changes, it sends up a timestamp of 18354513 (0x1181151) which when it compares this to the local_update_peer_timestamp in the table, it is much lower so the row is returned in Select
Changes. Here's one of the local_update_peer_timestamps in one of the records that is returned. (0x119563D).
Unless I am mistaken, I was thinking that SelectChanges would only return rows that have been updated? Does anyone know what I am doing wrong?