我正在使用一个DataSet
包含两个表的表,我试图通过 LINQ 从中获取数据。
我正在努力弄清楚如何返回满足条件的记录的语法。
例子:
下面是两张表:
此查询连接两个表(项目 Z 将被过滤掉)
private void ParseFooBar()
{
....
var fooBars = from item in fooBarItems
join data in fooBarData on item["FooBar_Id"] equals data["FooBar_Id"]
where (new[] {"A","B","C"}).Contains(item["id"])
select new
{
id = item["id"],
description = item["description"],
wat = data["wat"],
foo = data["foo"]
};
}
这是从上述查询派生的集合。
问题:如何仅退回 Foo 项目?
请注意 Foo 项目如何在其第一行/记录中具有非空值,而 Bar 项目在第一行/记录中没有非空值。使用所有 Foo 项在 foo 列中至少有一个非空值并且 Bar 项在 foo 列中永远不会有非空值这一事实,我如何更新上述查询以使查询仅返回 Foo 项? 同样,如何更新查询以使其仅返回 Bar 项目?