0

我正在构建一个在 Windows Mobile 设备上运行的应用程序。我正在使用 Microsoft 的 Sync Framework 将 Sql CE 数据库与主要的公司数据库同步。

问题是如何限制同步的字段?有问题的表有一堆字段,但我只需要在移动设备上显示其中的几个,并且复制只是一种方式(从服务器到移动设备),所以这不应该成为问题。我见过这个类似的问题,但那里没有太多信息。谁能给我更多关于如何实现这一目标的建议?我想这是一个非常普遍的要求。

另外,有人知道我是否可以使用 Sync Framework 2.0 版,还是必须坚持使用 1.0。我感觉 2.0 不支持 Windows Mobile,但我不确定。

干杯
马克

4

1 回答 1

2

您可以更改在后台生成的 T-SQL 以不包括表的所有列,但这里有几个问题。首先,这意味着您以后不能使用向导来修改同步选择 - 没什么大不了的,并且创建自己的部分类以使用表的 T-SQL 仅覆盖特定方法可以减轻一点。

其次,对未包含(不确定这是不是一个词?)列的更改也可以触发该行的下载,因为默认情况下更改跟踪是按行进行的。您可以通过设置 Track_Columns_Updated 标志来更改它

ALTER TABLE Employee
ENABLE CHANGE_TRACKING
WITH (TRACK_COLUMNS_UPDATED = ON)

根据数据的行数和大小以及更新频率,我经常发现一个更简单的解决方案是在服务器的主表上提供一个触发器,以更新仅包含您需要的数据的单独表中的记录,然后同步那。它使更改以后下载的内容变得更加容易。如果你要下载莎士比亚的全部作品,这显然不是一个解决方案,但对于一个产品目录的几 1000 条记录,我认为它是完全可行的。

于 2010-08-11T08:27:21.047 回答