比较 C# 中的 2 个数据表
本文关键字:数据表 中的 比较 | 更新日期: 2023-09-27 18:35:17
我有一个包含两个DataTable
对象的DataSet
对象。两种DataTable
具有相同的结构,但第一个较旧,然后第二个。第二个DataTable
包含部分旧DataTable
对象行和一些新行。我需要知道与旧行相比,哪些行已添加到"较新"DataTable
。
我想到了采用两个参数(较旧和较新的DataTable
)并将包含添加行DataRow[]
集合返回到较新的DataTable
的方法:
private DataRow[] GetNewDataRows(DataTable oldDT, DataTable newDT)
{
// code
}
我不知道如何实现这一点。谁能帮忙?问候
希望您正在寻找诸如检查列值之类的东西
var dtData1 = datatable1.AsEnumerable().Select(a => new { ColValue = a["SomeCol"].ToString() });
var dtData2 = datatable2.AsEnumerable().Select(a => new { ColValue = a["SomeCol"].ToString() });
var exceptXY = dtData1.Except(dtData2);
DataTable dtMisMatch = (from a in datatable1.AsEnumerable()
join xy in exceptXY on a["SomeCol"].ToString() equals ab.ColValue select a).CopyToDataTable();
我可能没有正确理解,但认为这对您有帮助。