如何使用Microsoft Sync Framework仅将新项目上载到服务器,而不更新/删除现有项目
本文关键字:更新 删除 项目 服务器 Sync Microsoft 何使用 Framework 上载 新项目 | 更新日期: 2023-09-27 18:27:23
我有一个数据同步场景,在这个场景中,我应该只将新项目上传到服务器,而不更新/删除现有项目,然后从服务器下载所有内容。我定义了两个具有不同作用域的SyncOrchestrator(一个用于上传,一个用于下载)。
如何指定只上传服务器上不存在的新项目?
编辑:场景描述
客户端应该在脱机之前从服务器下载所有内容。当它处于脱机状态时,它只能创建新记录。在客户端连接到网络后,它应该上传新记录,然后从服务器下载所有内容。
我使用以下文章中的信息解决了我的问题在Sync Fx 中操作更改数据集
以下是我的代码片段,用于仅将新记录从客户端同步到服务器
((SqlSyncProvider)syncOrchestrator.LocalProvider).ChangesSelected += SelectOnlyNewRows;
void SelectOnlyNewRows(object sender, DbChangesSelectedEventArgs e)
{
foreach (DataTable table in e.Context.DataSet.Tables)
{
for (int i = table.Rows.Count - 1; i >= 0; i--)
{
DataRow row = table.Rows[i];
// We are only interested in the new rows.
if (row.RowState != DataRowState.Added)
table.Rows.Remove(row); // Delete the row so it doesn't get sent.
}
}
}