如何比较两个数据集的相等性

时间:2009-05-06 19:47:09

标签: c# .net ado.net

我有两个数据集,每个数据集都有一个从不同来源提取的数据表,我需要知道数据表中包含的数据是否有任何差异。我试图避免循环和比较每个单独的记录或列,虽然可能没有其他方法。我需要知道的是,如果数据存在差异,我不需要知道任何差异的细节。

我尝试了以下代码,但似乎dataset.Merge不更新rowstatus,因此dataset.HasChanges()始终返回false。任何帮助表示赞赏:

var currentDataSet = GetSomeData();
var historicalDataSet = GetSomeHistoricalData();

historicalDataSet.Merge(currentDataSet);

if (historicalDataSet.HasChanges()) DoSomeStuff();

1 个答案:

答案 0 :(得分:3)

我不知道对此有任何内置支持,我也不会指望它。所以你必须以某种方式自己做。

最明显的方式是蛮力,逐桌逐行逼近。

如果您可以依赖某些因素,即完全相同的命名,记录顺序等,那么您可以测试将两者保存为XML并比较结果可能是一种有效的技巧。