2010-06-11 49 views
8

我正在查詢視圖並使用名爲status的列篩選結果。我想查詢它,這樣我就可以像使用SQL一樣使用IN運算符來搜索具有不同狀態的行。如何在LINQ中使用IN運算符

像這樣:

SELECT * FROM視圖,其中現狀( '...... '' ......')

我怎樣才能做到這一點?

回答

18

如果查詢表達式使用一個IEnumerable對象的Contains方法,所述解析器將把它轉換成使用在IEnumerable的值的IN表達。

List<string> foo = new List<string>() { "a", "b", "c" }; 

var query = dataContext.View.Where(v => foo.Contains(v.Status)); 
+0

謝謝亞當!奇蹟般有效! – Hallaghan 2010-06-11 15:59:02