Linq 多條件模糊查詢的方法
首先定義一個LINQ接收的集合:
var indexlist = from s in vindexinfo select s;
第二步:對需要模糊查詢的欄位做是否為空的判斷
//Contains 意思是是否包含了這個值相當於SQL中的Like
if (!string.IsNullOrEmpty(name))
{
indexlist = indexlist.Where(p => p.INDEXNAME.Contains(name));
}
if (!string.IsNullOrEmpty(indexno))
{
indexlist = indexlist.Where(p => p.INDEXNO.Contains(indexno));
}
第三步:組裝LINQ
indexlist.ToList();//執行到這個位置的時候上面的IF才會執行
另外的模式:
var indexlist = from s in vindexinfo
where S.需要查詢的欄位==頁面上取出來的條件 ||
S.需要查詢的欄位==頁面上取出來的條件 select s;
||意思的是SQL的OR
var indexlist = from s in vindexinfo
where S.需要查詢的欄位==頁面上取出來的條件&&
S.需要查詢的欄位==頁面上取出來的條件 select s;
&&意思如SQL的AND