You can use the Aggregate
extension method:
var q = qList.Aggregate((x, y) => x.Union(y));
Or following Thomas Levesque's suggestion:
var q = qList.Aggregate(Queryable.Union);
This will pick the first item from qList
, union it with the second item, union the result with the third item, and so on for each item in qList
. Note that this would not actually involve evaluating any of the IQueryable<T>
's, just constructing a new IQueryable<T>
which represents a union of the others.