所以,我需要同步两个数据存储,其中一个是SQL数据库,我觉得使用内置的提供程序是很自然的。但遗憾的是,我开始遇到麻烦,因为SqlSyncProvider
不使用ChangeDataRetriever
和NotifyingChangeApplier
,而是通过某个DbSyncContext
对象进行通信。因此,我必须从SqlSyncProvider
派生并主要覆盖GetChangeBatch
和ProcessChangeBatch
方法,以便它们与Sync Framework的其余部分兼容。
但麻烦的是,我相信我在这种转变中缺少一些东西。结果是,当我在SQL数据库中创建一行,并同步到另一个存储,并删除另一个存储中的行(或更新)时,同步后的更改不会出现在SQL数据库中。问题可能是由bulkdelete存储过程引起的,该存储过程过滤删除表并将从本地创建的行与从其他位置创建的行分开。
有人知道可能导致此问题的原因吗?我真的希望看到一些关于SQL提供程序和自定义提供程序之间同步的示例或文档。