我有以下Linq查詢。我想要的是,如果我搜索特定的year
,我應該得到相應的記錄year
。否則只顯示當年的記錄。同樣的方法searchtext
也有待完成。LINQ - Where條件 - 「if-else」個案
public ActionResult Search(string searchtext, int? year)
{
string selyear = year.ToString();
string curyear = (DateTime.Now.Year).ToString();
hdms = from t in db.HOLIDAY
where
(year == null || t.DOH.StartsWith(selyear)) &&
(searchtext == "" || t.HOLIDAY_NAME == searchtext)
select new HOLIDAYDETAILS
{
DOH = t.DOH,
};
....
}
我也想if (year == null) then t.DOH.StartsWith(curyear)
和
if (searchtext == "") then t.HOLIDAY_NAME != "Sunday" && t.HOLIDAY_NAME != "Saturday"
滿足這個。
另外如果兩者都是空的同時,兩個條件應該一起滿足。
我怎麼能在上面的where子句中給出這個呢?
上面的代碼爲我工作。你能否給我'searchtext'的條件呢? –
@ LimnaD'silva你可以根據你的條件逐步創建查詢 – Backs