如何在linq中使用IN运算符

Hal*_*han 8 c# linq linq-to-objects

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

如此:

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

我怎样才能做到这一点?

Ada*_*son 18

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

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

var query = dataContext.View.Where(v => foo.Contains(v.Status));
Run Code Online (Sandbox Code Playgroud)