高难度linq 多条件查询
C# code
public void QueryVisitorInfo(string visitorName,string visitorCorp,string revEmpName,
string fromVisitTime, string toVisitTime)
需求:
如果visitorName不为空,则返回结果集合中每个元素的VisitorName字段都要包含有visitorName字样
如果revEmpName不为空,则返回结果集合中每个元素的RevEmpName字段都要包含有revEmpName字样
如果fromVisitTime不为空,则返回结果集合中每个元素的FromVisitTime字段都要 大于 Convert.ToDateTime(fromVisitTime)
如果toVisitTime不为空,则返回结果集合中每个元素的ToVisitTime字段都要 小于 Convert.ToDateTime(toVisitTime)
var query =data.where(d={//如何写?})
貌似直接在where里面写{}是出错的 ,只能写()
怎么做
------解决方案--------------------
参考:
http://blog.csdn.net/q107770540/article/details/5724013
------解决方案--------------------
var query =data.where where (string.IsNullOrEmpty(visitorName) ? true : 需要的值) &&
(string.IsNullOrEmpty(revEmpName) ? true : 需要的值)