0
这是我工作的LINQ到数据集查询。我已经添加了第四个表,并且我想向查询中添加一个NOT IN类型过滤器,其中query1.dedpk不在deduct.dedpk中。不知道该怎么做。LINQ到数据集SELECT NOT IN到表?
var main = dsTemp.Tables["Maindata"].AsEnumerable();
var pg = dsTemp.Tables["pgto"].AsEnumerable();
var py = dsTemp.Tables["pyto"].AsEnumerable();
var deduct = dsTemp.Tables["Deduct"].AsEnumerable();
var query1 = from mainrow in main
join pgrow in pg on mainrow.Field<string>("pgpk") equals pgrow.Field<string>("pgpk")
join pyrow in py on mainrow.Field<string>("pypk") equals pyrow.Field<string>("pypk")
into griddata
select new
{
lastname = mainrow.Field<string>("lastname"),
firstname = mainrow.Field<string>("firstname"),
dedpk = mainrow.Field<string>("dedpk"),
};
感谢
你希望所有'dedpk'领域或整个行?前者更容易使用'Enumerable.Except',后者将是一个linq左外连接。 – 2013-05-07 20:04:10
有没有行扣除我想要的。这只是一个PK排除列表。我需要的所有行都在主表中。 – 2013-05-08 11:23:29