新聞中心
筆者對Linq to sql動態(tài)查詢的實現(xiàn)方法不是很精通,但是筆者一直在鉆研Linq to sql動態(tài)查詢,有了一點點收獲,拿出來和大家分享。

10年的施秉網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整施秉建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“施秉網(wǎng)站設(shè)計”,“施秉網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
Linq to sql動態(tài)查詢確實是一件頭痛的事情,用表達式樹或反射方法要寫一大堆代碼,有時候想想與其這么復(fù)雜,還不如回到手動sql拼接的年代,但是技術(shù)總是向前發(fā)展的,終歸還是要在Linq上解決這一問題,無意在網(wǎng)上發(fā)現(xiàn)一個還算比較簡單的辦法,分享一下:
- void ShowData()
- {
- using (DBDataContext db = new DBDataContext(Database.ConnectionString))
- {
- Expression
> expr = n => GetCondition(n); - var _query = db.T_Bargins.Where
(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() +
- "
");- }
- }
- }
VB和C#的DynamicQuery例程都包括了一個輔助庫的源碼實現(xiàn),該輔助庫允許你使用接受字符串參數(shù)(而不是類安全的語言運算符)的擴展方法來表示LINQ查詢。你可以把C#或VB的DynamicQuery庫的實現(xiàn)拷貝到你自己的項目中,然后在適當(dāng)?shù)牡胤礁鶕?jù)用戶的輸入用它來構(gòu)建Linq to sql動態(tài)查詢。
Linq to sql動態(tài)查詢實現(xiàn)得到合同金額大于6000,或合同名稱中包含"應(yīng)"字的條件
- 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動態(tài)查詢的簡單介紹。
新聞名稱:Linqtosql動態(tài)查詢概述
本文地址:http://www.5511xx.com/article/ccocpdd.html


咨詢
建站咨詢
