LINQ to Entities中的SQL'IN'运算符

时间:2011-06-10 12:10:05

标签: linq asp.net-mvc-2 linq-to-entities

我在使用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);

3 个答案:

答案 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