简单实现Linq多条件查询
创始人
2024-06-07 02:10:28
0

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

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

  1. //用Linq 实现动态多条件查询  
  2. Code  
  3.         private void ViewBinding()  
  4.         {       
  5.             Expression> 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多条件查询实现方法,一定会觉得实现起来很简单。

【编辑推荐】

  1. LINQ动态查询的实现浅析
  2. LINQ TO SQL动态修改表名称的实现浅析
  3. LINQ To SQL的一点讨论
  4. 浅析LINQ事务处理的实现
  5. 浅析DataSet和DataTable

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...