2011-06-10 163 views
3

我在創建帶有IN參數的LINQ查詢時遇到了問題。
對應的SQL查詢是LINQ to Entities中的SQL'IN'運算符

SELECT * FROM TABLEDEMO WHERE ID IN(SELECT ID FROM TABLE2) 

如何實現使用LINQ一樣嗎?
我也可以採取一個列表變量來存儲多個ID。

(from x in objEntity.TABLEDEMO 
where x.TABLEDEMO (here should be the in parameter) 
select x); 

回答

3

您需要使用Contains

from x in objEntity.TABLEDEMO 
where objEntity.Table2.Contains(y => y.ID == x.ID) 
select x; 

你不能寫任何其他的,即沒有查詢風格操作者可以使用。

+0

編譯時本身沒有工作錯誤:( – 1Mayur 2011-06-10 15:53:31

1

使用Any操作:

from x in objEntity.TABLEDEMO 
where otherQuery.Any(oq => oq == x.ID) 
select x 
3
from x in objEntity.Tabledemo 
where (from y in objEntity.table2 
     select ID).contains(x.ID) 
select x