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多条件查询的简单介绍。
【编辑推荐】