Я столкнулся со сценарием, в котором мне нужно отфильтровать один объект на основе множества объектов.
Для примера, у меня есть объект Бакалея , который обладает как фруктовыми, так и овощными свойствами. Тогда у меня есть отдельные Фрукты и Овощи объектов.
Моя цель такова:
var groceryList = from grocery in Grocery.ToList()
from fruit in Fruit.ToList()
from veggie in Vegetable.ToList()
where (grocery.fruitId = fruit.fruitId)
where (grocery.vegId = veggie.vegId)
select (grocery);
Проблема, с которой я сталкиваюсь, заключается в том, что фрукты и овощи пусты.
Под пустым я подразумеваю, что их число в списке равно 0, и я хочу применить фильтр, только если список фильтров заполнен.
Я также НЕ могу использовать что-то вроде, так как объекты нулевые:
var groceryList = from grocery in Grocery.ToList()
from fruit in Fruit.ToList()
from veggie in Vegetable.ToList()
where (grocery.fruitId = fruit.fruitId || fruit.fruitId == String.Empty)
where (grocery.vegId = veggie.vegId || veggie.vegId == String.Empty)
select (grocery);
Итак, я собираюсь проверить список Fruit и Vegetable list ... и отфильтровать их как отдельные выражения для последовательно отфильтрованных Grocery объектов.
Но есть ли способ получить список в случае нулевых объектов в одном выражении запроса?