0

我有一個使用LocalDataCache將SQL Server 2008 Express數據庫同步到客戶端數據庫(.sdf文件)的應用程序。這很好,我現在正在處理衝突。同步框架處理ClientInsert ServerInsert衝突

我使用這個微軟的資源作爲指導:How to: Handle Data Conflicts and Errors

衝突,我特別感興趣的是ConflictType.ClientInsertServerInsert。

我想在客戶端和服務器上插入兩個衝突的行,我想知道是否有一個SyncFramework的內部方法來做到這一點?

否則我的解決方案如下:

0 - 設置e.Action = ApplyAction.Continue(無變化)。

1 - 將客戶端衝突(ID,表名)保存到數組中。

2 - 將服務器衝突(ID,表名)保存到數組中。

3 - 對於客戶端衝突陣列中的每個項目,插入到服務器

4 - 對於服務器衝突陣列中的每個項目,插入到客戶端

我想知道如果SyncFramework能做到這一點的因爲它似乎爲我做了一切其他事情?

我期待着您的回覆。謝謝

回答

0

我已經解決了這個問題現在通過使用一個GUID的PK而不是一個自動遞增的int。這保證了服務器或任何客戶端插入的每一行都是唯一的。我知道存在一些缺點,如額外的存儲空間和搜索所需的時間,但這是我願意接受的(我將過濾客戶端獲得的數據,這將有助於提高性能)。