Linq多条件查询究竟有多难呢?其实不然,在笔者的带领下,你会发现Linq多条件查询实现起来是很简单的。
Linq多条件查询(高级搜索),假如一共可以输入5个条件,但是用户根据需要可能只输2个或3个,也可能是4个,写查询方法是不是也需要写多个方法,还是只需要写一个方法,下面此Linq多条件查询方法就来帮你解决此问题。
复制
//用Linq 实现动态多条件查询 Code private void ViewBinding() { Expressionbool>> expr = n => GetCondition(n); var xQuery = DCDataContext.TestTables.Where(expr.Compile()); this.dataGridView1.DataSource = xQuery.ToList(); } private bool GetCondition(TestTable tb) { bool boolResult = true; if (txtUserNumber.Text.Trim() != string.Empty) { boolResult &= tb.UserNumber == int.Parse(txtUserNumber.Text.Trim()); } if (txtName.Text.Trim() != string.Empty) { boolResult &= tb.Name == txtName.Text.Trim(); } if (txtClassName.Text.Trim() != string.Empty) { boolResult &= tb.ClassName == txtClassName.Text.Trim(); } return boolResult; } private void button1_Click(object sender, EventArgs e) { ViewBinding(); }
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
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多条件查询实现方法,一定会觉得实现起来很简单。
【编辑推荐】