我有两个镜像数据表(具有两个主键的相同结构):
由于DataTable_B每2秒被一个查询填充到数据库中,我需要像DataTable_B一样镜像DataTable_A,避免直接填充DataTable_A。当记录从DataTable_B中消失时,我还需要从DataTable_A中删除记录。这样做的最佳方式是什么?
现在我正在DataTable_B的每一行上执行“for cycle”,如果DataTable_A上不存在该行,我会将其删除。
有更好的方法吗?
答案 0 :(得分:2)
最好的方法可能是不要使用TableA,而是在TableB上使用DataView。这样可以立即解决所有问题。你能详细说明你为什么需要这份副本吗?
但是否则你会想要处理TableB的 RowChanged和TableNewRow RowDeleted事件
更常见的想法,在看到您的评论之后:如果可以向数据库中的表添加Timestamp列,则可以运行更高效的查询。而DataTable.Merge方法将完成剩下的工作。