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