为了有效地保持应用程序集合与数据库同步,而不是每次都加载相同数量的记录,我可以使用带有表触发器的数据库datetime
“LastModified”字段。表触发器在更新或插入数据库操作时更新“LastModified”字段,然后我可以为db查询提供上次使用的时间戳值,以仅加载那些时间戳值晚于提供的参数的记录。
上述技术有助于保持较小的数据交换量,但存在一个问题:数据库中删除的记录仍保留在应用程序集合中。
如何检查哪些记录在数据库中被删除以相应地更新应用程序的集合,以尽可能减少流量数据?
答案 0 :(得分:1)
您需要一个在删除时调用的表触发器。当调用此触发器时,它会将索引和删除的时间戳写入另一个跟踪表。在下一次同步时,您只需要检索自此表中上次修改日期以来要删除的所有索引。
也许你应该看看Microsoft Sync Framework。它将在数据库中创建所有需要的表和触发器,以跟踪自上次同步以来所做的更改。只需按照this example,然后查看您的数据库。您应该很容易看到他们用来跟踪所有更改的所有添加的表和触发器。