探寻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
- };
linq多条件查询需要注意的是,下面这样是不对的,会报无法识别的DateTime。
- (!string.IsNullOrEmpty(strAddTimeStart) ?
- Convert.ToDateTime(AddTimeStart) >= w.addTime : true)
所以时间必须在外边转换。
以上就是对linq多条件查询的简单介绍。
【编辑推荐】
- LINQ动态查询的实现浅析
- LINQ TO SQL动态修改表名称的实现浅析
- LINQ To SQL的一点讨论
- 浅析LINQ事务处理的实现
- 浅析DataSet和DataTable
版权声明:
作者:后浪云
链接:https://www.idc.net/help/407333/
文章版权归作者所有,未经允许请勿转载。
THE END