In case you missed it, you should read Vitek's post on Projection Data Service Expressions. Here you will get not just the basics of his this works, but also details as to:
- Why we may query for more properties than those strictly projected.
- Why ProjectedWrappers are used, how they're used, and why you really, really have to use them.
- What all those Converts are doing in your expression trees.