我正在使用C#处理ASP.NET, 我需要将两个DataSet中的数据与两个DataSet中的“ID”进行比较,然后将所有匹配的行添加到New数据集中。
答案 0 :(得分:1)
在每个DataSet中的表之间设置DataRelation,然后使用GetChildRows方法查找您可以添加到新DataSet或任何其他数据结构的匹配项。有关示例,请参阅Introduction to DataRelation Objects。
答案 1 :(得分:0)
这可以通过两个数据表的交集来完成
using System.Data;
public static class DataTableExtensions
{
public static IEnumerable<DataRow> Intersect(this DataTable table, DataTable other)
{
return table.AsEnumerable().Intersect(other.AsEnumerable());
}
public static IEnumerable<DataRow> Intersect(this DataTable table, DataTable other, IEqualityComparer<DataRow> comparer)
{
return table.AsEnumerable().Intersect(other.AsEnumerable(), comparer);
}
}
这是shameless port of an elegant solution
:)
假设您有两个要比较的数据集set1和set2。这样做
var newtable = set1.Tables[0].Intersect(set2.Tables[0]).CopyToDataTable();
发布更多细节,如果这不是你想要的。