Working around LinqToSQls "queries with local collections are not supported" exception

collections, linq-to-sql

Solution

If Ids is a List, array or similar, L2S will translate into a contains.

If Ids is a IQueryable, just turn it into a list before using it in the query. E.g.:

List<int> listOfIDs = IDs.ToList();  
var query =  
from st in dc.SomeTable  
where listOfIDs.Contains(st.ID)
select .....

Problem

So, I'm trying to return a collection of People whose ID is contained within a locally created collection of ids ( IQueryable) When I specify "locally created collection", I mean that the Ids collection hasnt come from a LinqToSql query and has been programatically created (based upon user input). My query looks like this: ``` var qry = from p in DBContext.People where Ids.Contains(p.ID) select p.ID; ``` This causes the following exception... "queries with local collections are not supported" How can I find all the People with an id that is contained within my locally created Ids collection? Is it possible using LinqToSql?

Original source