使用LINQ过滤DataTable

时间:2010-08-10 19:55:59

标签: .net linq lambda

考虑包含列的DataTable

  RefID : string  
RefName : string 
RefDate : DateTime

DataTable不包含任何主键。

我有另一个名为List<string>的{​​{1}}。

我想过滤我的ExcludeMe,并排除DataTable列表中找到RefId列中值的所有行。

如何使用LINQ实现这一目标?

3 个答案:

答案 0 :(得分:2)

试试这个

DataRow[] filterred = RefDataTable.AsEnumerable()
.Where(row => !ExcludeMe.Contains(row["RefID"].ToString()))
.ToArray();

答案 1 :(得分:1)

类似的东西:

dt.Rows.Cast<DataRow>.Where(s => !excludeMe.Contains(s["RefID"].ToString()));

尚未尝试过。

答案 2 :(得分:1)

我没有尝试过,但这样的事情应该有效。

var out = dataTable.Where(x => excludeMe.contains(x.RefId);
var filtered = dataTable.Except(out);