This is easy to do if you use the DynamicLinq library found at NuGet.org. This allows you to write queries like;
db.People.Where("Id == 8");
db.People.OrderBy("Created ASC");
That way you can save or pass in your where clauses as strings. No fuss, no muss.
http://nuget.org/List/Packages/DynamicLINQ