Linq - 在Lambda表达式中使用数组来获取多个记录

时间:2011-09-18 17:53:04

标签: c# linq lambda

我不确定这是否可行。我想创建一个包含一些简单id的数组(或列表/字典),并在lambda表达式中使用数组(或其他)。

以下示例应返回UserId的15850和15858

DbDataContext db = new DbDataContext();    
int[] userIds = {15850, 15858};
var users = db.tblUsers.Where(x => x.UserId.Equals(userIds));

可能与否?

由于

1 个答案:

答案 0 :(得分:8)

这是可能的,并将转换为SQL WHERE IN (...)语句,但它在linq中被写成了一种倒退:

DbDataContext db = new DbDataContext();    
int[] userIds = {15850, 15858};
var users = db.tblUsers.Where(x => userIds.Contains(x.UserId));