VS 2008新功能6:Synchronize Services for ADO.NET

摘要:VS 2008新功能6:Synchronize Services for ADO.NET

原文:http://www.ithome.com.tw/itadm/article.php?c=47295&s=10

Synchronize Services for ADO.NET 搭配本機資料庫,簡化資料同步作業
隨著微軟推出檔案大小不到1MB的精簡型資料庫──SQL Server 2005 Compact Edition,.NET 3.5也內建Synchronize Services for ADO.NET技術,處理本機與遠端伺服器之間的資料同步工作。未來應用程式的資料可以儲存在本機電腦,並使用存取資料庫的方式,簡單處理本機資料。

Visual Studio 2008預設採用SQL Server 2005 Compact Edition,做為本機/用戶端資料庫。

過去本機電腦在沒有微型資料庫的情況下,開發者常以DataSet作為離線資料表,或者利用純文字檔儲存資料。然而無論查詢DataSet或者純文字檔,程式碼都相當冗長。在新的開發環境中,做法將更為單純。像是Synchronize Services for ADO.NET技術,提供了漸進式(Incremental)與衝突處理(Conflict)指令,可以簡單處理本機與伺服器之間資料同步的作業,不但大幅降低程式開發的複雜度,也減少應用程式對網路的依賴程度。

設定本機與伺服器資料同步的方法
在專案中加入「本機資料庫快取」元件,並定義需要存放於用戶端的資料內容。
相較於過去冗長的程式碼,利用Synchronize Services for ADO.NET撰寫同步作業,只需3段程式碼即可完成。資料來源:章立民,iThome整理,2008年1月

1. 建立SyncAgent類別,負責同步的工作(NorthwindSyncAgent是Visual Studio 2008根據前一步驟的設定,自動產生的類別)

2. 設定為雙向同步(系統預設值為Download Only,即由伺服器端複寫用戶端資料)

3. 執行同步作業