如何编写嵌套的linq查询

问题描述

如何在linq中编写以下SQL查询?

select * from Employee where Email = (select User_Email from tbl_Login where User_Email='abc@demo.com' and User_Password = 'demo123')

我所做的是:

from tblemp in ctx.Employees where tblemp.Email = (from tblLogin in ctx.tbl_Login where (tblLogin.User_Email == login.User_Email && tblLogin.User_Password == login.User_Password))

但是,它引发了错误。

解决方法

使用方法语法:

var employee = ctx.Employee
  .Where(e => e.Email == ctx.tbl_Login
     .Single(l => l.User_Email = "abc@demo.com" and l.User_Password = "demo123")
     .User_Email)

这将返回一个IEnumerable。如果期望单个结果,请使用Single而不是Where。您还可以使用First从该集合中获取第一个结果。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...