我在使用IN
参数创建LINQ查询时遇到问题
对应的SQL查询是
SELECT * FROM TABLEDEMO WHERE ID IN(SELECT ID FROM TABLE2)
如何使用LINQ实现相同目的? 我也可以使用list变量来存储多个ID。
(from x in objEntity.TABLEDEMO
where x.TABLEDEMO (here should be the in parameter)
select x);
答案 0 :(得分:3)
您需要使用Contains
:
from x in objEntity.TABLEDEMO
where objEntity.Table2.Contains(y => y.ID == x.ID)
select x;
你不能写任何其他内容,即你没有可以使用的查询样式操作符。
答案 1 :(得分:3)
from x in objEntity.Tabledemo
where (from y in objEntity.table2
select ID).contains(x.ID)
select x
答案 2 :(得分:1)
使用Any
运算符:
from x in objEntity.TABLEDEMO
where otherQuery.Any(oq => oq == x.ID)
select x