同步與同步框架數據的常規代碼片段是這樣的:同步框架:我可以只同步我的表的一個子集嗎?
LocalDBSyncAgent syncAgent = new LocalDBSyncAgent();
Microsoft.Synchronization.Data.SyncStatistics syncStats = syncAgent.Synchronize();
做anynody知道的方式來同步我的表的子集。 請注意,不是每個表內的數據,而是決定哪些表將參與同步。
感謝 阿里爾
同步與同步框架數據的常規代碼片段是這樣的:同步框架:我可以只同步我的表的一個子集嗎?
LocalDBSyncAgent syncAgent = new LocalDBSyncAgent();
Microsoft.Synchronization.Data.SyncStatistics syncStats = syncAgent.Synchronize();
做anynody知道的方式來同步我的表的子集。 請注意,不是每個表內的數據,而是決定哪些表將參與同步。
感謝 阿里爾
是的,你絕對可以。
爲要同步的每個表創建一個SyncTable,並將其添加到SyncAgent中的Configuration.SyncTables中。
我發現this article來自Bill Ryan非常具有啓發性。他會介紹如何過濾每個表格中的數據,但是有些東西可以滿足您的需求。從比爾·瑞恩
樣品:
public class SampleSyncAgent : Microsoft.Synchronization.SyncAgent
{
public SampleSyncAgent()
{
SqlCeClientSyncProvider clientSyncProvider = new SqlCeClientSyncProvider(Properties.Settings.Default.ClientConnString, true);
this.LocalProvider = clientSyncProvider;
clientSyncProvider.ChangesApplied += new EventHandler<ChangesAppliedEventArgs>(clientSyncProvider_ChangesApplied);
this.RemoteProvider = new SampleServerSyncProvider();
SyncTable customerSyncTable = new SyncTable("Customer");
customerSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable;
customerSyncTable.SyncDirection = SyncDirection.DownloadOnly;**
this.Configuration.SyncTables.Add(customerSyncTable);
this.Configuration.SyncParameters.Add(new SyncParameter("@CustomerName", "Sharp Bikes"));
}
}
有一些新的數據庫相關的同步提供者的Sync Framework 2.0 - 他們有許多超過了以前的那些好處(請參閱比較提供商類型here)。通過這些,您可以指定應通過構建包含DbSyncTableDescriptions的DbSyncScopeDescription來同步僅用於希望同步的表的子集。
您在上面陳述過,您對過濾數據不感興趣,但在此可能值得一提的是,DbSyncScopeDescription還包含過濾信息。