我正在使用c#.net
我有两个文本框,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运算符(=>).