When you call Fetch/Cacheable before a Where, OrderBy, Skip, Take etc an exception is thrown. I'm in the process of upgrading an application from the old Linq provider to the one in Nhibernate 3 and this is a major issue for me.
For example I have my own extension method called ToPagedList(1, 15). This converts an IQueryable to a list but applies paging first. The problem is I would need to apply Fetch and/or Cacheable before I convert it to a list but after the Skip/Take which isn't possible without having to re-design my whole application which is not feasible.
I don't know why this should be such an issue, in the old provider it was perfectly fine to call Expand in any position.