If you worry that your data access requirements are sufficiently "interesting" that LINQ and Entity Framework can't do the job, the good news is that you can always use plan old SQL. Entity Framework ...
You don't have to give up on creating dynamic queries just because you're using Entity Framework. Entity SQL and ObjectQuery will let you generate queries at runtime and still let you update your data ...