我必須在此過濾器中添加以下內容:Linq FindWhere子句和布爾過濾器?
「如果CountryID通過等於(999),那麼搜索應該搜索所有國家,而不是按國家過濾。」
我現在擁有的是這個,這完全讓我困惑。
var query = rep.
FindWhere(c =>
(
countryID.HasValue == false ||
c.CityID == null ||
c.Countries.ID == countryID
)
&&
(
mediaTypeID == 0 ||
c.MediaTypeID == mediaTypeID
)
&& c.Active);
我假設,如果任何關於第一個禁忌症的條件是真的,那麼它會匹配所有國家?!如果是這樣,那麼我可以在第一個parantheses中添加一個額外的表達式來檢查countryID 999?
ps。 FindWhere是:
public IQueryable<T> FindWhere(Expression<Func<T, bool>> predicate)
{
return _dbSet.Where(predicate);
}
什麼是FindWhere? – 2013-03-26 15:05:19
請檢查更新 – Xerxes 2013-03-26 15:06:28