日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

linq to sql的多条件动态查询(下)

發布時間:2025/4/16 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linq to sql的多条件动态查询(下) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

借助老外寫的一個擴展表達式的類,可以把上篇中的代碼寫得更優雅

這是PredicateBuilder的源文件

?public?static?class?PredicateBuilder
????
...{
??????
public?static?Expression<Func<T,?bool>>?True<T>?()??...{?return?f?=>?true;??}
??????
public?static?Expression<Func<T,?bool>>?False<T>?()?...{?return?f?=>?false;?}
?????
??????
public?static?Expression<Func<T,?bool>>?Or<T>?(this?Expression<Func<T,?bool>>?expr1,
??????????????????????????????????????????????????????????Expression
<Func<T,?bool>>?expr2)
??????
...{
????????var?invokedExpr?
=?Expression.Invoke?(expr2,?expr1.Parameters.Cast<Expression>?());
????????
return?Expression.Lambda<Func<T,?bool>>
??????????????(Expression.Or?(expr1.Body,?invokedExpr),?expr1.Parameters);
??????}

?????
??????
public?static?Expression<Func<T,?bool>>?And<T>?(this?Expression<Func<T,?bool>>?expr1,
???????????????????????????????????????????????????????????Expression
<Func<T,?bool>>?expr2)
??????
...{
????????var?invokedExpr?
=?Expression.Invoke?(expr2,?expr1.Parameters.Cast<Expression>?());
????????
return?Expression.Lambda<Func<T,?bool>>
??????????????(Expression.And?(expr1.Body,?invokedExpr),?expr1.Parameters);
??????}

????}

?

下面是使用示例 :

?

List<Product>?GetProductsByAND(params?string[]?keywords)?
????
...{
????????DBDataContext?db?
=?new?DBDataContext(Database.ConnectionString);
????????IQueryable
<Product>?query?=?db.Products;
????????
foreach?(string?keyword?in?keywords)
????????
...{
????????????
string?temp?=?keyword;
????????????query?
=?query.Where(p?=>?p.Description.Contains(temp));
????????}

????????
//翻譯后的sql語句:
????????
//Select?[t0].[ID],?[t0].[Name],?[t0].[Description]
????????
//FROM?[dbo].[Product]?AS?[t0]
????????
//Where?([t0].[Description]?LIKE?'%手機%')?AND?([t0].[Description]?LIKE?'%6111%')
????????return?query.ToList();???
????}



????List
<Product>?GetProductsByOR(params?string[]?keywords)
????
...{
????????DBDataContext?db?
=?new?DBDataContext(Database.ConnectionString);
????????var?predicate?
=?PredicateBuilder.False<Product>();
????????
foreach?(string?keyword?in?keywords)
????????
...{
????????????
string?temp?=?keyword;
????????????predicate?
=?predicate.Or(p?=>?p.Description.Contains(temp));
????????}

????????var?query?
=?db.Products.Where(predicate);
????????
//翻譯后的sql語句:
????????
//Select?[t0].[ID],?[t0].[Name],?[t0].[Description]
????????
//FROM?[dbo].[Product]?AS?[t0]
????????
//Where?([t0].[Description]?LIKE?'%6111%')?OR?([t0].[Description]?LIKE?'%2350%')
????????return?query.ToList();
????}


????
void?ShowData()?
????
...{
????????
//var?_products?=?GetProductsByOR("6111",?"2350");
????????
//Repeater1.DataSource?=?_products;
????????
//Repeater1.DataBind();

????????var?predicate?
=?PredicateBuilder.True<Product>();

????????
string?_name?=?"6111";
????????
if?(!string.IsNullOrEmpty(_name))?
????????
...{
????????????predicate?
=?predicate.And(p?=>?p.Name.Contains(_name));
????????}


????????
string?_description?=?"長虹";
????????
if?(!string.IsNullOrEmpty(_description))?
????????
...{
????????????predicate?
=?predicate.And(p?=>?p.Description.Contains(_description));
????????}


????????
using?(DBDataContext?db?=?new?DBDataContext(Database.ConnectionString))
????????
...{
????????????var?_Products?
=?db.Products.Where(predicate);
????????????Repeater1.DataSource?
=?_Products;
????????????Repeater1.DataBind();
????????}


????}

?




轉載于:https://www.cnblogs.com/yjmyzz/archive/2008/03/25/1122135.html

總結

以上是生活随笔為你收集整理的linq to sql的多条件动态查询(下)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久久久九九九九 | 国产伦一区二区 | 九九热re | 亚洲第一av在线 | 美女黄18以下禁止观看 | 九九免费 | 久久精品屋 | 裸体av淫导航 | 欧美久久影院 | 91视频网址入口 | 高hnp视频 | 裸体黄色片 | 亚洲国产91 | 九九九精品视频 | 国产欧美精品一区二区色综合朱莉 | 无码少妇一级AV片在线观看 | 九九久久国产视频 | 中文字幕日韩精品无码内射 | 免费毛片视频网站 | 黄色三级在线视频 | 色日韩| www.brazzers.com | 一道本在线观看视频 | av三级网站 | 亚洲成人网在线观看 | 亚洲精品乱码久久久久久日本蜜臀 | 97精品久久| 亚洲美女屁股眼交 | 日韩一区二区三区久久 | 国产系列在线 | 懂色一区二区三区免费观看 | 国产做受高潮动漫 | 97色网| 免费国产91 | 无码精品人妻一区二区三区影院 | 91在线观看喷潮 | 在线超碰av | 国产精品久久无码 | 免费视频网站在线观看入口 | 欧美另类国产 | 天天操天天操天天操天天 | 精人妻无码一区二区三区 | 亚洲免费专区 | 国产网站免费看 | 日本69av| 影音先锋中文字幕在线 | 欧美亚洲在线播放 | 久久影院午夜 | 男女啪啪免费网站 | 日本人添下边视频免费 | 日韩精品人妻一区二区中文字幕 | 久久丝袜视频 | 日本国产在线 | 亚洲夜色| 亚洲精品一品 | 超碰个人在线 | 四虎影视永久 | 亚洲国产精品视频一区二区 | 天啪| 宿舍女女闺蜜调教羞辱 | 经典三级第一页 | 日韩成人在线观看 | 秋霞av鲁丝片一区二区 | 日韩精品在线观看一区二区三区 | 国产精品久久久久久久久绿色 | 伊人色区 | 亚洲成人黄色小说 | 最新国产精品自拍 | 亚洲综合中文字幕在线 | 一区二区三区高清不卡 | 美女的奶胸大爽爽大片 | 性感av在线| 欧美一区二区久久久 | 日本久久久网站 | 亚洲欧美日韩在线一区二区 | 日本啊v在线 | 久久91精品国产91久久小草 | 人妻一区二区三区四区五区 | 亚洲精品国产精品乱码不99热 | 色欲av无码一区二区三区 | 亚洲国产aⅴ成人精品无吗 日韩乱论 | 色网址在线观看 | 国产夫妻性爱视频 | 饥渴少妇色诱水电工 | 乌克兰黄色片 | 国产精品交换 | 99爱免费| 国产 欧美 日韩 | 懂色av粉嫩av蜜乳av | caoporen超碰| 黑人中文字幕一区二区三区 | 99久久久久久久 | 欧美黄视频在线观看 | 拔插拔插海外华人免费视频 | 丰满岳妇乱一区二区三区 | 我们俩电影网mp4动漫官网 | 色一情一交一乱一区二区三区 | 啪啪视屏 | 华人色 |