Search code examples
c#linq

Select multiple records based on list of Id's with linq


I have a list containing Id's of my UserProfile table. How can i select all UserProfiles based on the list of Id's i got in a var using LINQ?

var idList = new int[1, 2, 3, 4, 5];
var userProfiles = _dataContext.UserProfile.Where(......);

I got stuck right here. I can do this using for loops etc. But I'd rather do this with LINQ.


Solution

  • You can use Contains() for that. It will feel a little backwards when you're really trying to produce an IN clause, but this should do it:

    var userProfiles = _dataContext.UserProfile
                                   .Where(t => idList.Contains(t.Id));
    

    I'm also assuming that each UserProfile record is going to have an int Id field. If that's not the case you'll have to adjust accordingly.