多くのオブジェクトに基づいて単一のオブジェクトをフィルタリングする必要があるシナリオに直面しています。
例として、FruitプロパティとVegetableプロパティの両方で構成されるGroceryオブジェクトがあります。次に、個々の果物と野菜のオブジェクトがあります。
私の目的はこれです:
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であることを意味し、フィルターリストが入力されている場合にのみフィルターを適用します。
オブジェクトがnullであるため、次のようなものも使用できません。
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);
だから、私は果物と野菜のリスト数をチェックし、連続してフィルタリングされた食料品オブジェクトで別々の式としてそれらをフィルタリングするつもりです。
しかし、単一のクエリ式でnullオブジェクトの場合でもリストを取得する方法はありますか?