各位高手午安
想請問大家,目前寫了一隻員工查詢系統
我下的條件是必須輸入id + name 才能找到資料
請問如果我只想輸入id 或 name 其中一個就能找到資料的話 LinQ該怎麼改
我嘗試下過
var q = from p in db.employee
where p.name == name || p.id == id
select p;
但是變成name找不到資料 只有id找的到資料
按照你的描述 你可以在判斷那邊 判斷預設值就忽略此條件
var q = from p in db.employee
where (p.name == name || string.IsNullOrEmpty(name)) &&
(p.id == id || string.IsNullOrEmpty(id))
select p;
避免因資料以匯入方式建的記錄有不明空白,你可以試試
var q = from p in db.employee
where p.name.Contains(name.Trim()) || p.id == id
select p;
如果還要加判斷可能用另外一種Linq會比較適合,
像這樣
var q = p.Where(x => x.ip == ip)
之類的.