我有两个文本框,if!empty需要成为liNQ查询中WHERE子句的一部分.
这是我的代码
var result = from a in xxxx select a;if(!string.IsNullOrEmpty(personname)){ return result.Where(a >= a.forename.Contains(personname) || a.surname.Contains(personname) }else if(!string.IsNullOrEmpty(dateFrom)){ return result.Where(a >= a.appStartDateTime >= dateFrom.Date)}else if(!string.IsNullOrEmpty(personname) && !string.IsNullOrEmpty(dateFrom)){ return result.Where(a >= a.forename.Contains(personname) || a.surname.Contains(personname) && a.appStartDateTime >= dateFrom.Date);}
我认为这会起作用,但它不喜欢.Where和我无法访问’a’,例如a.forename(名称’a’在当前上下文中不存在)
我出了什么问题,或者实际上不能做到这一点?
在此先感谢您的帮助.
克莱尔
解决方法 而不是这个:result.Where(a.forename.Contains(personname))
试试这个:
result.Where(a => a.forename.Contains(personname))
您似乎缺少Lambda运算符(=>).
总结以上是内存溢出为你收集整理的c# – 使用if语句的LINQ WHERE子句全部内容,希望文章能够帮你解决c# – 使用if语句的LINQ WHERE子句所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)