Я работаю с DataSet
, который содержит две таблицы, из которых я пытаюсь получить данные через LINQ.
Я пытаюсь выяснить синтаксис того, как возвращать записи, которые соответствуютусловие.
Пример:
Вот две таблицы:
![FooBar Items](https://i.stack.imgur.com/uJ2dx.png)
![FooBar Data](https://i.stack.imgur.com/ax8DF.png)
Этот запрос объединяет две таблицы (элемент 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"]
};
}
Это коллекция, полученная из указанного выше запроса.
![FooBar Items joined with FooBar Data](https://i.stack.imgur.com/F16Fk.png)
Вопрос: Как я могу вернуть только элементы Foo?
Обратите внимание, что элементы Foo в первой строке / записи имеют ненулевое значениезначение, в то время как элементы Bar не имеют ненулевого значения в первой строке / записи.Используя тот факт, что все элементы Foo будут иметь по крайней мере одно ненулевое значение в столбце foo, а элементы Bar никогда не будут иметь ненулевое значение в столбце foo, как я могу обновить вышеупомянутый запрос, чтобы запрос возвращал только элементы Foo?Аналогично, как я могу обновить запрос, чтобы он возвращал только элементы Bar?