LINQ to SQL按List <int>过滤

gru*_*ber 2 .net c# linq linq-to-sql

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

下面的代码不起作用:/

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

e.Result = from u in context.Users
                   from id in selectedSourceUsers
                   where u.UserId == id
                   select u;
Run Code Online (Sandbox Code Playgroud)

感谢帮助

Jon*_*eet 10

试试这个:

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

(老实说,我已经预料到它也可以使用List<int>,但是使用数组可能会修复它......)