我有2个数据表
DataTable1
SNo
1
2
3
4
DataTable2
SNo
1
4
3
I want the result
DataTableResult
SNo
2
我可以使用for
循环来完成。
但我正在尝试使用linq。
var intersection = DataTable1.AsEnumerable().Intersect(DataTable2.AsEnumerable(), DataRowComparer.Default);
然后我发现Intersect会给你两个表都有的行。
我完全不知道要使用什么功能。
有什么想法吗?
我得到了答案。
感谢删除答案的人。
但这给了我一个开始。
答案是
var intersection = DataTable1.AsEnumerable().Except(DataTable2.AsEnumerable(), DataRowComparer.Default);
答案 0 :(得分:2)
你可以尝试使用exept语句有点难以准确,因为你只是将表显示为结构,但你可以尝试这样的事情
var qry1 = datatable1.AsEnumerable().Select(a => new { SNo.ToString() });
var qry2 = datatable2.AsEnumerable().Select(b => new { SNo.ToString() });
var exceptAB = qry1.Except(qry2);
答案 1 :(得分:0)
您可以使用此类查询
select SNo from DataTable1 where SNo not in (select SNo from DataTable2);