2012-09-05 31 views
0

嗯,我正在探索Sync Framework 2.1。它工作得很好,直到我改變了一張桌子並添加了一列。關於這個主題寫了很多。這裏是我的方法同步框架並添加列

  1. 修改表和數據庫(碩士和奴隸)
  2. 重命名跟蹤表中添加一列(例如,從todos_tracking到todos_tracking_back)
  3. 刪除原始提供範圍
  4. 創建一個與前者名稱相同的新範圍,跳過創建跟蹤表
  5. 將跟蹤表重命名爲原始名稱(例如,從todos_tracking_back到todos_tracking)

所有這一切只是爲了不丟失改變的軌道。 Spacially爲巨大的數據表。

結果是什麼?當我更新現有的行或刪除它時,更改不會反映在同步中。但是,當我插入一個新的行時,變化反映出來。

有人有這種事情的經驗嗎?

在我的工作中,有時我們需要改變添加新列的表格。現在我們需要同步數據庫。

希望清楚。提前致謝。

回答

0

在步驟#3中,當您刪除範圍時,您實際上會丟失同步內容的同步知識。你可能只是取消和重新配置。

跟蹤表只是存儲更改的內容,它不存儲同步的內容。這在範圍表的知識列中。

由於您放棄了示波器同步知識,因此同步fx無法確定來自兩個數據庫的表中是否包含相似的數據。然後它會嘗試將現有的行從一個數據庫應用到另一個數據庫,並且很可能會遇到衝突。

嘗試訂閱ApplyChangesFailed事件,您應該看到衝突發射。

新插入將工作,因爲這些是以前不存在的行。

+0

非常感謝您的幫助。我明白更好。抱歉耽擱了 –