如何在linq中使用IN运算符

时间:2010-06-11 15:47:04

标签: c# linq linq-to-objects

我正在查询视图并使用名为status的列过滤结果。我想查询它,以便我可以像在SQL中那样使用IN运算符来搜索具有不同状态的行。

如此:

SELECT * FROM VIEW WHERE状态('....','.....')

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:18)

如果您的查询表达式使用Contains对象的IEnumerable方法,则解析器会使用IN中的值将其转换为IEnumerable表达式。

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

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