var results = _db.CatSchemas.FirstOrDefault(s => s.TypeName == "Programs")
.Categories.Where(c => c.FilterValToCatMaps.Where
(fm => fm.FilterValue.Value == age && fm.FilterValue.Value == ProgType).Count() > 0)
.Select(c => c.Category1);
クエリを削除すると機能&& fm.FilterValue.Value == ProgType
しますが、もちろん、フィルタリングされた結果のみが返されますage
。
パラメータとで指定されたものと等しいCategories
ものだけを選択する必要があります。1つの値のみを含めることができ、関連するすべての値とそれぞれ が必要なカテゴリに存在する必要があります。FilterValToCatMaps
FilterValue.Value
age
ProgType
FilterValues
FilterValToCatMaps
FilterValues
私が推測するステートメントは、2つのパラメーター値が同じ(fm => fm.FilterValue.Value == age && fm.FilterValue.Value == ProgType)
ものに対して真であるかどうかをチェックしようとし、カテゴリーに関連する他のパラメーター値が次のパラメーター値を含むかどうかをチェックしません。 FilterValToCatMap.FilterValue
FilterValToCatMap.FilterValue
FilterValToCatMaps-テーブル
LineID | FilterValueID | CatID
FilterValues-テーブル
LineID | 値| DisplayName | FilterID