http://msdn.microsoft.com/en-us/library/dd918848.aspx
“了解范围是表和过滤器的组合非常重要。例如,您可以定义一个名为sales-WA的过滤范围,该范围仅包含customer_sales表中华盛顿州的销售数据。在同一个表上定义另一个过滤器,例如sales-OR,这是一个不同的范围。如果定义过滤器,请注意Sync Framework不会自动处理不再满足过滤条件的行的删除。例如,如果用户或应用程序更新用于过滤的列中的值,则行会从一个范围移动到另一个范围。该行将发送到该行现在属于的新范围,但该行不会从旧范围中删除你的申请必须处理这种情况。“
我只是想知道有人可以解释如何处理“Sync Framework不会自动处理不再满足过滤条件的行的删除”吗?
非常感谢。
答案 0 :(得分:2)
同步提供程序将(作为配置步骤的一部分)自动创建逻辑删除表和触发器以跟踪行删除。当行未被删除但以这种方式更新时,如果超出范围,则自动生成的模式不会将这些记录为删除。它会将它们记录为更新。因此,为了扩展Microsoft示例,假设您的应用程序仅将华盛顿数据同步到华盛顿销售代表。最初作为华盛顿销售进行的一些销售被更正并移至俄勒冈州。同步框架将不知道它应该从华盛顿代表的本地数据库中删除这些现在的俄勒冈州记录。
您有几种方法可以解决这个问题: