2010-08-10 61 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();