【发布时间】:2018-10-23 09:47:44
【问题描述】:
如何在 LINQ 中使用 lambda 表达式重写此 SQL 查询?
SELECT
CO.*
FROM
COMPANY CO
WHERE
CO.ID = '5'
AND CO.ID <> (SELECT COMPANY_ID
FROM dbo.EMPLOYEE
WHERE USERNAME = 'ADMIN')
我尝试了以下代码我认为它是正确的,但它不起作用:
var obj1 = db.COMPANies
.Where(co => co.ID != co.EMPLOYEEs.SingleOrDefault(em => em.USERNAME == userName).COMPANY_ID && co.ID == iID);
你能帮帮我吗?
我可以用吗
co.EMPLOYEEs.SingleOrDefault(em => em.USERNAME == userName).COMPANY_ID
在db.COMPANies.Where 内??
我已阅读以下问题:How do I write SELECT FROM myTable WHERE id = (SELECT) in Linq? 但这对我没有帮助。
编辑: Image table structure, Click here
对不起,我的英语不好。谢谢!
【问题讨论】:
-
你能分享你的表结构吗?我认为您在公司和员工表之间存在某种对外关系。通过
USERNAME加入似乎是一种不好的做法。在表之间添加正常关系可能会简化您当前的问题。 -
是的。请刷新页面。我不知道在这里添加图片