var result = from person in people where person.FirstName == "Grover" select person; //var is of type IQueryable and the query has yet to be executed... result = result.Where(person => person.LastName=="Lipscomb"); //still IQueryable and it has not yet been executed... foreach (var person in result) { person.Ban(); } //Now it has been executed since you enumerated the results.