2010-06-11 42 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