I came across this library today and it rocks. http://www.albahari.com/nutshell/linqkit.aspx

Without this library trying to pass Linq Expressions into Where clauses on Linq to Entities just didn’t work beyond some very simple (trivial) examples.

With this library I can now combine multiple filter function expressions and pass them to my query, and it works as intended:

Expression<func<datetime,bool>> contains = ts.Contains;

var query = from caller in dataContext.CallerIDLogs.AsExpandable()
where contains.Invoke(caller.DateTime)
select caller;