您好,登錄后才能下訂單哦!
這篇文章主要介紹“動態linq查詢的實現方式是什么”,在日常操作中,相信很多人在動態linq查詢的實現方式是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”動態linq查詢的實現方式是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
配合EasyUI datagird filter實現多字段(任意字段)的篩選
根據業務需求篩選特定的狀態或條件,如:查看結案的訂單,最近30天的訂單,查看屬于我的訂單.等等,這些邏輯是固定也是可以被重用,但又不想每次寫相同的條件,那么下面我會給我的解決方案.
需求1只是一個偷懶的實現方式,因為datagrid自帶這個功能,但又不想根據具體的需求來畫查詢條件,如果需求必須要再datagrid上面做一塊查詢條件的輸入那目前只能在前端自己手工添加,在組織后傳入后臺,暫時不在這里討論
需求2可能不太好解釋,看完代碼就自然理解為什么要這么做了,這么做的好處有哪些
默認情況下 datagrid 有幾列就可以對這幾列進行篩選,對于日期型的字段會采用between,選擇2個時間之間進行篩選,數字類型會提供大于小于等符號選擇,可以自行嘗試,其原理是datagrid 會根據datagrid 頭部輸入的值生成一個Json字符串發送后臺請求數據
JSON:格式
filterRules: [ {field:field,op:op,value:value},{field:field,op:op,value:value},]
通常的做法是一個一個判斷加條件
View Code
新的做法是動態根據field,op,value生成一個linq 表達式,不用再做繁瑣的判斷,這塊代碼也可以被其它項目使用,非常好用
View Code
配合使用的代碼
對于固定查詢邏輯的封裝和復用,當然除了復用還可以明顯的提高代碼的可讀性.
查看訂單的銷售情況,條件 金額,國家,日期
調用查詢方法
客戶查詢 根據國家和城市查詢
客戶的銷售情況,金額和數量
復用上面的定義的查詢方法
到此,關于“動態linq查詢的實現方式是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。