LINQ to SQL where in(lambda syntax)

Kuk*_*koy 4 c# linq lambda

请有人帮我这个吗?我想要一个简单的"在哪里".这是执行我想要的SQL.

select ur.RoleID
from UserRoles ur
where ur.RoleID in (5, 15)
Run Code Online (Sandbox Code Playgroud)

这是我的尝试.方法.IN()显然不存在,只是把我的凝聚思想大声笑.

int roleid;
foreach (data r in dataList) {
    using (DataContext communityContext = new DataContext()) {
        roleid = communityContext.UserRoles
            .Where(x => x.UserID == r.ClientId && x.RoleID.IN(5, 15))
            .Select(x => x.RoleID)
            .First();
    }
}
Run Code Online (Sandbox Code Playgroud)

Seb*_*Piu 8

正如你所提到的In那样,.Contains()如果你有一个列表,你也可以使用x.RoleId == 5 || x.RoleId == 15

例如

var allowedRoles = new int[] { 5, 15 };
Run Code Online (Sandbox Code Playgroud)

然后在你的where条款中:

allowedRoles.Contains(x.RoleID)
Run Code Online (Sandbox Code Playgroud)