mysql 的sql语句与Linq

SELECT dept.DepartmentId,dept.DptName FROM tbldepartment as dept
JOIN tblconsult as consult on dept.DepartmentId in (consult.DepartmentId ,consult.ApplyDepartmentId)
where consult.Id = 726

这个语句用linq 怎么写 ,主要是 dept.DepartmentId in (consult.DepartmentId ,consult.ApplyDepartmentId) 这一句

2个回答

 linq的join不支持条件判断,所以要用linq就不能用join了

var query = from dept in tbldepartment
from consult in  tblconsult
where dept.DepartmentId == consult.DepartmentId || dept.DepartmentId == consult.ApplyDepartmentId
select new { dept.DepartmentId, dept.DptName };
qq_33359572
qq_33359572 哦 ,已解决 ,谢谢你
一年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 当然如果是x in (a,b,c,d ...),linq的写法是(a,b,c,d).Contains(x),但是2个是特例,没必要了。
一年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复qq_33359572: x in (a,b)就是x=a or x=b啊。什么区别
一年多之前 回复
qq_33359572
qq_33359572 回复qq_33359572: || 相当与OR
一年多之前 回复
qq_33359572
qq_33359572 这样写只能检索出来一条数据,|| 与 in 是有差别的
一年多之前 回复

也可以分开来两个join,然后union把查询连起来。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问