我在查询DataSet.Tables [0]时遇到了一些问题,并删除了不符合List标准的行。
//This is my list
var values = new List<string> {"Test", "Test2"};
// Now I just query the DataSet for anything that doesnt match this list
var query = from x in ds.Tables[0].AsEnumerable()
from b in values
where !x.Field<string>("ColumnName").Contains(b)
select x;
这可以工作并返回结果,但它返回2 x组相同的行(我假设没有连接)。
我怎样才能获得这些行的不同值?
答案 0 :(得分:7)
听起来你可能想要:
var query = from x in ds.Tables[0].AsEnumerable()
where !values.Any(b => x.Field<string>("ColumnName").Contains(b))
select x;
换句话说,找到values
中任何值中“ColumnName”字段值不存在的所有行。
答案 1 :(得分:0)
答案 2 :(得分:0)
您无需加入values
列表:
var query = from x in ds.Tables[0].AsEnumerable()
where !values.Any(str => x.Field<string>("ColumnName").Contains(str))
select x;