2011-09-18 26 views
5

林不知道這是否可能。我想創建一個數組(或列表/字典)包含一些簡單的ID和在lambda表達式中使用數組(或其他)。Linq - 在Lambda表達式中使用數組來獲取多條記錄

下面的例子將返回用戶ID的15850和15858

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

可能或不?

感謝

回答

8

這是可能的,而且會轉化爲SQL語句WHERE IN (...),但它是在LINQ書面形式的倒退:

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