【问题标题】:Sync Framework Handling ClientInsert ServerInsert Conflict同步框架处理 ClientInsert ServerInsert 冲突
【发布时间】:2009-11-24 11:45:03
【问题描述】:

我有一个使用 LocalDataCache 将 SQL Server 2008 Express 数据库同步到客户端数据库(.sdf 文件)的应用程序。这很好用,我现在正在管理冲突。

我使用此 Microsoft 资源作为指南:How to: Handle Data Conflicts and Errors

我特别感兴趣的冲突是 ConflictType.ClientInsertServerInsert。

我想在客户端和服务器上插入两个冲突的行,我想知道 SyncFramework 是否有内部方法来执行此操作?

否则我的解决方法如下:

0 - 设置 e.Action = ApplyAction.Continue(无更改)。

1 - 将客户端冲突(id、表名)保存到数组中。

2 - 将服务器冲突(id、表名)保存到数组中。

3 - 对于客户端冲突数组中的每个项目,插入到服务器中

4 - 对于服务器冲突数组中的每个项目,插入到客户端

我想知道 SyncFramework 是否可以为我做这件事,因为它似乎可以为我做所有其他事情?

期待您的回复。谢谢

【问题讨论】:

    标签: .net sql-server sql-server-2008 synchronization microsoft-sync-framework


    【解决方案1】:

    我现在已经解决了这个问题,方法是使用 PK 的 GUID 而不是自动递增的 int。这保证了服务器或任何客户端插入的每一行都是唯一的。我知道有一些缺点,例如额外的存储空间和搜索所需的时间,但这是我愿意接受的(我将过滤客户端获取的数据,这将有助于提高性能)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多