I was experimenting a little with Linq outside of any production environment after I had a problem converting some Functional delegates into some expression that EntityFramework would be able to work with. So I just went back to the fundamentals and tried out the following
code. Once you get beyond the annoying generics, enlightenment will emerge.
Am not able to elaborate more currently, but I urge you to look into it if you're having to deal with Linq and any kind of ORM (Linq to Sql, Entity Linq, nHibernate Linq). It's still not though integrated to any ORM yet, which when it will, I'll be blogging about.
Some interesting work is being done regarding issues related to this topic. You'll find a lot about it by googling for
AsExpandable LINQ