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
- };
linq多条件查询需要注意的是,下面这样是不对的,会报无法识别的DateTime。
- (!string.IsNullOrEmpty(strAddTimeStart) ?
- Convert.ToDateTime(AddTimeStart) >= w.addTime : true)
所以时间必须在外边转换。
以上就是对linq多条件查询的简单介绍。
【编辑推荐】