2010-08-10 72 views
0

考虑一个DataTable含有列:过滤数据表使用LINQ

 
    RefID : string 
RefName : string 
RefDate : DateTime 

DataTable不包含任何主键。

我有另一个List<string>名为ExcludeMe

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

如何使用LINQ实现此目的?

回答

1

类似:

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

没有尝试过呢。

1

我还没有尝试过,但像这样的东西应该工作。

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

试试这个

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