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

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


咨詢
建站咨詢
