LINQ中的sql IN子句

时间:2014-02-04 05:39:56

标签: c# linq

我试图在IN

的帮助下,在LINQ方面获得类似于SQL Contains()子句的结果

我正在做以下事情:

listData.Where(pr => pr.CD.Contains(cd)).Select(pr => pr.dept_cd).Distinct()

如果cd只有一个值,但cd是以逗号分隔的字符串时不起作用,则此方法有效。

如果是LINQ,我怎样才能实现SELECT * FROM TABLE WHERE COLUMN IN(VALUE1,VALUE2...)

2 个答案:

答案 0 :(得分:0)

使用它如下

var selected = from u in users
               where new[] { "IT", "Admin", "HR" }.Contains(u.dept_cd)
               select u;

或如果您List string,则应将其用作

List<string> dept= new List<string>(){"HR", "IT"};

var selected = from u in users
               where dept.Contains(u.dept_cd)
               select u;

答案 1 :(得分:0)

应该是相反的。如下所示:

listData.Where(pr => cd.Contains(pr.CD).Select(pr => pr.dept_cd)).Distinct();

不确定语法。但这是方法。这里,cd是逗号分隔的字符串或字符串数​​组

相关问题