您好,登錄后才能下訂單哦!
本篇內容介紹了“Linq to sql動態查詢的方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Linq to sql動態查詢確實是一件頭痛的事情,用表達式樹或反射方法要寫一大堆代碼,有時候想想與其這么復雜,還不如回到手動sql拼接的年代,但是技術總是向前發展的,終歸還是要在Linq上解決這一問題,無意在網上發現一個還算比較簡單的辦法,分享一下:
void ShowData() { using (DBDataContext db = new DBDataContext(Database.ConnectionString)) { Expression<Func<T_Bargin, bool>> expr = n => GetCondition(n); var _query = db.T_Bargins.Where<T_Bargin>(expr.Compile()).Select(b => new { b.F_Money, b.F_Name }); foreach (var item in _query) { Response.Write(item.F_Name + " " + item.F_Money.ToString() + "<br/>"); } } }
VB和C#的DynamicQuery例程都包括了一個輔助庫的源碼實現,該輔助庫允許你使用接受字符串參數(而不是類安全的語言運算符)的擴展方法來表示LINQ查詢。你可以把C#或VB的DynamicQuery庫的實現拷貝到你自己的項目中,然后在適當的地方根據用戶的輸入用它來構建Linq to sql動態查詢。
Linq to sql動態查詢實現得到合同金額大于6000,或合同名稱中包含"應"字的條件
private bool GetCondition(T_Bargin _Table) { bool _result = false; decimal _MinMoney = 6000; if (_MinMoney > 0) { _result |= _Table.F_Money >= _MinMoney; } string _Name = "江華"; if (!String.IsNullOrEmpty(_Name)) { _result |= _Table.F_Name.Contains(_Name); } return _result; }
“Linq to sql動態查詢的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。