このフィルターに以下を追加する必要があります、
「渡されたCountryIDが(999)に等しい場合、検索では国でフィルタリングするのではなく、すべての国を検索する必要があります。」
私が現在持っているのはこれです、それは私を完全に混乱させます。
var query = rep.
FindWhere(c =>
(
countryID.HasValue == false ||
c.CityID == null ||
c.Countries.ID == countryID
)
&&
(
mediaTypeID == 0 ||
c.MediaTypeID == mediaTypeID
)
&& c.Active);
最初の括弧の条件に当てはまるものがあれば、それはすべての国と一致すると思いますか?!もしそうなら、countryID 999をチェックするために最初の括弧に式を追加できますか?
ps。FindWhereは次のとおりです。
public IQueryable<T> FindWhere(Expression<Func<T, bool>> predicate)
{
return _dbSet.Where(predicate);
}