探寻linq多条件查询

linq多条件查询,当条件为NUll时不做查询,只有条件有值时才作为查询条件查询。下面我们就给大家进
首页 新闻资讯 行业资讯 探寻linq多条件查询

linq多条件查询如何实现呢,以及实现过程中遇到的问题如何解决呢?本文就来给你一个答案。

linq多条件查询,当条件为NUll时不做查询,只有条件有值时才作为查询条件查询。下面我们就给大家进行一下分析。

时间 AddTime

名称 Name

复制

//添加时间开始          string strAddTimeStart = txtAddTimeStart.Text;          DateTime AddTimeStart = SqlDateTime.MinValue.Value;          if (!string.IsNullOrEmpty(strAddTimeStart))          {              AddTimeStart = Convert.ToDateTime(strAddTimeStart );          }          //添加时间结束          string strAddTimeEnd = txtAddTimeEnd.Text;          DateTime AddTimeEnd = SqlDateTime.MaxValue.Value;          if (!string.IsNullOrEmpty(strAddTimeEnd))          {              AddTimeEnd = Convert.ToDateTime(strAddTimeEnd);          }  var resultsql = from w in students   where  (!string.IsNullOrEmpty(strAddTimeStart) ? AddTimeStart >= w.addTime : true) &&   (!string.IsNullOrEmpty(strAddTimeEnd) ? AddTimeEnd >= w.addTime : true) &&   (!string.IsNullOrEmpty(OCState) ? w.Name.Equals(Name) : true)     select new   {w.name,    w.sex     };
  • 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.

linq多条件查询需要注意的是,下面这样是不对的,会报无法识别的DateTime。

复制

(!string.IsNullOrEmpty(strAddTimeStart) ? Convert.ToDateTime(AddTimeStart) >= w.addTime : true)
  • 1.

  • 2.

所以时间必须在外边转换。

以上就是对linq多条件查询的简单介绍。

【编辑推荐】

  1. LINQ动态查询的实现浅析

  2. LINQ TO SQL动态修改表名称的实现浅析

  3. LINQ To SQL的一点讨论

  4. 浅析LINQ事务处理的实现

  5. 浅析DataSet和DataTable

20    2009-09-15 09:33:46    linq多条件查询