I'm working with a `DataSet` that contains two tables that I am trying to get data out of via LINQ.

I'm struggling with figuring out the syntax of how to return records that meet a condition. 

Example:

**Here are the two tables:**

![FooBar Items](https://i.stack.imgur.com/uJ2dx.png)

![FooBar Data](https://i.stack.imgur.com/ax8DF.png)

**This query joins the two tables** (Item Z will be filtered out)

```
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"]                 
      };
}

```

**This is the collection that was derived from the above query.**

![FooBar Items joined with FooBar Data](https://i.stack.imgur.com/F16Fk.png)

**Question: How do I return Foo items only?**

Notice how the Foo items have in their first row/record a non-null value while the Bar items do not have a non-null value in the first row/record. Using the fact that all Foo items will have at least one non-null in the foo column and Bar items will never have a non-null value in the foo column, how can I update the above query so that the query only returns Foo items? Likewise, how can I update the query so that it only returns Bar items?