简单实现Linq多条件查询

Linq多条件查询究竟有多难呢?其实不然,在笔者的带领下,你会发现Linq多条件查询实现起来是很简单的。

成都创新互联专注于企业营销型网站、网站重做改版、鲁甸网站定制设计、自适应品牌网站建设、H5网站设计商城开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为鲁甸等各大城市提供网站开发制作服务。

Linq多条件查询(高级搜索),假如一共可以输入5个条件,但是用户根据需要可能只输2个或3个,也可能是4个,写查询方法是不是也需要写多个方法,还是只需要写一个方法,下面此Linq多条件查询方法就来帮你解决此问题。

 
 
 
  1. //用Linq 实现动态多条件查询  
  2. Code  
  3.         private void ViewBinding()  
  4.         {       
  5.             Expression bool>> expr = n => GetCondition(n);  
  6.             var xQuery =
  7.  DCDataContext.TestTables.Where (expr.Compile());  
  8.             this.dataGridView1.DataSource = xQuery.ToList ();  
  9.         }  
  10.         private bool GetCondition(TestTable tb)  
  11.         {  
  12.             bool boolResult = true;  
  13.             if (txtUserNumber.Text.Trim() != string.Empty)  
  14.             {  
  15.                 boolResult &= tb.UserNumber == 
  16. int.Parse(txtUserNumber.Text.Trim());  
  17.             }  
  18.             if (txtName.Text.Trim() != string.Empty)  
  19.             {  
  20.                 boolResult &= tb.Name == txtName.Text.Trim();  
  21.             }  
  22.             if (txtClassName.Text.Trim() != string.Empty)  
  23.             {  
  24.                 boolResult &= tb.ClassName == txtClassName.Text.Trim();  
  25.             }  
  26.             return boolResult;  
  27.         }  
  28.         private void button1_Click(object sender, EventArgs e)  
  29.         {  
  30.             ViewBinding();  
  31.         } 

LINQ,语言级集成查询(Language INtegrated Query)

LINQ 提供了一条常规的途径即给 .Net Framework 添加一些可以应用于所有信息源( all sources of information )的具有多种用途( general-purpose )的语法查询特性( query facilities ),这是比向开发语言和运行时( runtime )添加一些关系数据( relational )特性或者类似 XML 特性( XML-specific )更好的方式。这些语法特性就叫做 .NET Language Integrated Query (LINQ) 。

无论什么语言实现多条件查询都是需要一定得逻辑性的,用Linq实现更是不容易,但是大家看完上述Linq多条件查询实现方法,一定会觉得实现起来很简单。

当前题目:简单实现Linq多条件查询
文章位置:http://www.shufengxianlan.com/qtweb/news0/487850.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联