获取一个数据表,但不是另一个使用LINQ存在什么 [英] Get what exists in one DataTable but not another using LINQ
本文介绍了获取一个数据表,但不是另一个使用LINQ存在什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个数据表
秒。我想在第一个存在的东西,但第二个不存在。我想在另一个数据表
的结果。我想使用LINQ
- 第一个数据表:
DataTable的DT1 = cc1roleDAL.GetAll(X,0);
- 第二个数据表:
的DataTable DT2 = cc1roleDAL.GetSpecific(X);
请注意:列名我从两个数据表返回:
块引用>
crs_name
名称
解决方案这将这样的伎俩为您提供:
VAR rowsOnlyInDt1 = dt1.AsEnumerable(),其中(R =方式>!dt2.AsEnumerable()
//确保有没有DT2
。任何任何匹配的名称(R2 => R [crs_name ] .Trim()ToLower将()== R2 [crs_name] TRIM()ToLower将()及&安培; R [名。] TRIM()ToLower将()== R2 [名称。] .Trim()ToLower将()));
或者如果你喜欢的查询语法:
<$在dt1.AsEnumerable p $ p>VAR rowsOnlyInDt1 =从R()
//确保有没有DT2
任何匹配的名字在哪里!dt2.AsEnumerable()。任何(R2 =方式>:R [crs_name] TRIM()ToLower将()== R2 [crs_name] TRIM()ToLower将()及。和放大器;:R [名称] TRIM() 。.ToLower()== R2 [名称] TRIM()ToLower将())
选择R。
您就可以把结果放到一个DataTable使用的 CopyToDataTable 功能:
DataTable的结果= rowsOnlyInDt1.CopyToDataTable();
I have two
DataTable
s. I want to get what exists in the first one but does not exist in the second one. I would like the results in anotherDataTable
. I would like to use LINQ.
- The First datatable:
DataTable dt1 = cc1roleDAL.GetAll(x, 0);
- The second datatable:
DataTable dt2 = cc1roleDAL.GetSpecific(x);
Note: the column names I return from the the two datatables:
crs_name
name
解决方案This will do the trick for you:
var rowsOnlyInDt1 = dt1.AsEnumerable().Where(r => !dt2.AsEnumerable() //make sure there aren't any matching names in dt2 .Any(r2 => r["crs_name"].Trim().ToLower() == r2["crs_name"].Trim().ToLower() && r["name"].Trim().ToLower() == r2["name"].Trim().ToLower()));
or if you prefer query syntax:
var rowsOnlyInDt1 = from r in dt1.AsEnumerable() //make sure there aren't any matching names in dt2 where !dt2.AsEnumerable().Any(r2 => r["crs_name"].Trim().ToLower() == r2["crs_name"].Trim().ToLower() && r["name"].Trim().ToLower() == r2["name"].Trim().ToLower()) select r;
You can then put the results into a DataTable by using the CopyToDataTable function:
DataTable result = rowsOnlyInDt1.CopyToDataTable();
这篇关于获取一个数据表,但不是另一个使用LINQ存在什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文