Linq多条件查询究竟有多难呢?其实不然,在笔者的带领下,你会发现Linq多条件查询实现起来是很简单的。
Linq多条件查询(高级搜索),假如一共可以输入5个条件,但是用户根据需要可能只输2个或3个,也可能是4个,写查询方法是不是也需要写多个方法,还是只需要写一个方法,下面此Linq多条件查询方法就来帮你解决此问题。
- //用Linq 实现动态多条件查询
- Code
- private void ViewBinding()
- {
- Expression
bool>> 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();
- }
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多条件查询实现方法,一定会觉得实现起来很简单。
【编辑推荐】