I am using a similar approach to others in keeping my LINQ objects in my LINQ data provider and returning an IQueryable to allow filtering etc. This works fine for filtering a
I ended up not using filters for my complex queries. Instead, I added methods to the repository for the more complex query requirements. I feel this will make the system easier to understand and hence maintain.