问题描述
如何在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
从该集合中获取第一个结果。