0

LocalDataCache를 사용하여 SQL Server 2008 Express 데이터베이스를 클라이언트 데이터베이스 (.sdf 파일)와 동기화하는 응용 프로그램이 있습니다. 이것은 위대한 작품과 지금은 갈등을 관리하고 있습니다.Sync Framework 처리 ClientInsert ServerInsert 충돌

내가 가이드로이 마이크로 소프트의 자원을 사용하고 있습니다 : How to: Handle Data Conflicts and Errors

충돌 내가 특히 관심 ConflictType.ClientInsertServerInsert이다.

나는 클라이언트와 서버에 상반되는 행을 삽입하고 싶습니다. 그리고 SyncFramework에 내부적으로이 방법이 있다면 궁금합니다.

그렇지 않으면 내 솔루션은 다음과 같습니다

0 - 설정 e.Action = ApplyAction.Continue (변화 없음).

1 - 클라이언트 충돌 (id, tablename)을 배열에 저장하십시오.

2 - 서버 충돌 (id, tablename)을 배열에 저장하십시오.

3 - 클라이언트 충돌 배열의 각 항목은 서버

4에 삽입 용 - 서버 충돌 배열의 각 항목에 대해 SyncFramework가이 작업을 수행 할 수 있을지가 궁금

클라이언트에 삽입 나를 위해서 다른 모든 일을하는 것처럼 보이는가?

답장을 기다리겠습니다. 감사합니다

답변

0

이제 자동 증분 int 대신 PK에 대해 GUID를 사용하여이 문제를 해결했습니다. 이렇게하면 서버 또는 클라이언트가 삽입 한 각 행이 고유하게됩니다. 추가 저장 공간 및 검색에 걸리는 시간과 같은 단점이 있음을 알고 있습니다. 그러나 이것이 내가 살기를 원합니다 (그리고 클라이언트가 얻는 데이터를 필터링하여 성능을 향상시키는 데 도움이됩니다).