我有以下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