从 SQL 语句翻译而来的嵌套 lambda 表达式
使用 lambda 表达式,如何翻译这个查询?
select * from employee where emp_id=1 and dep_id in (1,2,3,4).
我正在尝试这个表达式,但这会导致异常:
public IEnumrable<employees> getemployee(int emp,list<int> dep )
{
_employeeService.GetAll(e=>(e.emp_id=emp||emp==null) && (e.dep_id.where(dep.contains(e.dep_id))|| dep.count==0 )
}
对于将这些查询转换为这些 lambda 表达式有什么建议吗? 这些函数有什么问题吗?
Using lambda expressions, how do you translate this query?
select * from employee where emp_id=1 and dep_id in (1,2,3,4).
I am trying this expression but this results in exceptions:
public IEnumrable<employees> getemployee(int emp,list<int> dep )
{
_employeeService.GetAll(e=>(e.emp_id=emp||emp==null) && (e.dep_id.where(dep.contains(e.dep_id))|| dep.count==0 )
}
Any suggestion for translating these queries to these lambda expressions?
wahts wrong in these function?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我的意思并不是居高临下,但我建议您在进一步学习之前先阅读一本 C# 初学者书籍。您在基本语法(例如运算符优先级和相等比较)中犯了错误。
另外,请记住,无法检查原始数据类型是否为空,除非它们被显式指定为可为空。在你的情况下,emp 的类型将是 int?,而不是 int。
同时,尝试
I don't mean to sound patronizing, but I'd suggest you pick up a beginner's C# book before going further. You've made errors in basic syntax such as operator precedence and equality comparison.
Also, remember that primitive data types cannot be checked for null, unless they're explicitly specified as nullable. In your case emp would be of type int?,not int.
Meanwhile, try