我試圖構建一個簡單的搜索LINQ語句。當字符串被傳遞到WHERE時,空字符串會導致錯誤的結果。使用Linq構建一個搜索查詢處理String.Empty
tmp = (from p in tmp
where
p.Customer.custEmail.Contains(filter.Email) &&
p.Customer.custLastName.Contains(filter.LastName) &&
p.orderID == id
select p).ToList();
}
如果filter.LastName爲空,查詢仍會嘗試查找「」,從而導致NO RECORDS。
不用寫了一堆
if (!String.IsNullOrWhiteSpace(filter.LastName))
每個過濾器項目,是有辦法的LINQ命令內做到這一點?
您是否使用Linq to SQL,Linq to Entities或Linq to Objects?請更新標籤。 – Phil 2012-04-15 18:35:42