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つの値のみを含めることができ、関連するすべての値とそれぞれ が必要なカテゴリに存在する必要があります。FilterValToCatMapsFilterValue.ValueageProgTypeFilterValuesFilterValToCatMapsFilterValues
私が推測するステートメントは、2つのパラメーター値が同じ(fm => fm.FilterValue.Value == age && fm.FilterValue.Value == ProgType)ものに対して真であるかどうかをチェックしようとし、カテゴリーに関連する他のパラメーター値が次のパラメーター値を含むかどうかをチェックしません。 FilterValToCatMap.FilterValueFilterValToCatMap.FilterValue
FilterValToCatMaps-テーブル
LineID | FilterValueID | CatID
FilterValues-テーブル
LineID | 値| DisplayName | FilterID