考虑一个DataTable
含有列:过滤数据表使用LINQ
RefID : string RefName : string RefDate : DateTime
DataTable不包含任何主键。
我有另一个List<string>
名为ExcludeMe
。
我想过滤我的DataTable
,并排除ExcludeMe
列表中的RefId
列中的所有行。
如何使用LINQ实现此目的?
考虑一个DataTable
含有列:过滤数据表使用LINQ
RefID : string RefName : string RefDate : DateTime
DataTable不包含任何主键。
我有另一个List<string>
名为ExcludeMe
。
我想过滤我的DataTable
,并排除ExcludeMe
列表中的RefId
列中的所有行。
如何使用LINQ实现此目的?
类似:
dt.Rows.Cast<DataRow>.Where(s => !excludeMe.Contains(s["RefID"].ToString()));
没有尝试过呢。
我还没有尝试过,但像这样的东西应该工作。
var out = dataTable.Where(x => excludeMe.contains(x.RefId);
var filtered = dataTable.Except(out);
试试这个
DataRow[] filterred = RefDataTable.AsEnumerable()
.Where(row => !ExcludeMe.Contains(row["RefID"].ToString()))
.ToArray();