Disclaimer: I\'ve solved the problem using Expressions from System.Linq.Expressions, but I\'m still looking for a better/easier way.
Consider the following situation :>
You can turn your where clauses on and off using some logic expressions.
//Turn on all where clauses
bool ignoreFirstName = false;
bool ignoreLastName = false;;
bool ignoreAddress = false;
//Decide which WHERE clauses we are going to turn off because of something.
if(something)
ignoreFirstName = true;
//Create the query
var queryCustomers = from c in db.Customers
where (ignoreFirstName || (c.ContactFirstName.Contains("BlackListed")))
where (ignoreLastName || (c.ContactLastName.Contains("BlackListed")))
where (ignoreAddress || (c.Address.Contains("BlackListed"))
select j;
If ignoreFirstName is true in the query then the condition on the other side of the or statement will be ignored.