linq to ef 動態查詢條件

2021-07-02 07:39:49 字數 753 閱讀 7858

linq to sql 轉到 linq to ef 

動態查詢條件.需要使用linqkit

使用方法如下

public actionresult index(string productname, string manufactory, int producttypes)

// 如果有輸入生產工廠作為搜尋條件時

if (!string.isnullorwhitespace(manufactory))

// #2# 搜尋條件為 = false or 產品型別1 or 產品型別2 ...

var predicateproducttype = predicatebuilder.false();

// 如果有輸入產品型別作為搜尋條件時

if (producttypes!=null)

}// #3# 搜尋條件為 = true and 產品名稱 and 生產工廠 and (false or 產品型別1 or 產品型別2 ...)

// 回傳搜尋結果

return view(products.a***pandable().where(predicate)

.where(predicateproducttype).include(p => p.producttype));

}

注意:::: 重要的是要在查詢之前加上....   .a***pandable() .這個方法先執行,再執行where 就不會錯了.

詳見  

Mybatis 多條件動態查詢

例 簡單的乙個查詢 select from student tbl st where st.student name like concat concat 但是此時如果studentname是null或空字串,此語句很可能報錯或查詢結果為空。此時我們使用if動態sql語句先進行判斷,如果值為null...

動態拼接LINQ查詢條件

在實際開發過程中,expression查詢的條件總是多樣的,新建乙個擴充套件類支援動態拼接條件。public static class predicateextensions 機關函式應用false時 單個and無效,多個and無效 單個or有效,多個or有效 混應時寫在or後面的and有效。即,設...

MS SQL之多條件動態查詢

在網上看到乙個sql server的多條件查詢,感覺很精練,並結合實際的專案,做了乙個帶分頁的儲存過程 create procedure sgetrtableheadp mc 獲取簡歷數目並建立臨時表分頁,帶多條件引數查詢 status varchar 50 city varchar 100 高階查...