通过List <int> </int>进行LINQ to SQL过滤

时间:2010-08-24 10:34:14

标签: c# .net linq linq-to-sql

如果用户ID在我的用户列表中,我怎样才能从表中检索行?

下面的代码不起作用:/

List<int> selectedSourceUsers = ...
MyModelDataContext context = ...

e.Result = from u in context.Users
                   from id in selectedSourceUsers
                   where u.UserId == id
                   select u;

感谢您的帮助

1 个答案:

答案 0 :(得分:10)

试试这个:

int[] selectedUsersArray = selectedSourceUsers.ToArray();
e.Result = from u in context.Users
           where selectedUsersArray.Contains(u.UserId)
           select u;

(说实话我也希望它能与List<int>一起使用,但是使用数组可能会修复它......)