Hi,
the general procedure for handling projection is exposed in the manual in the section "Generated code - Fetching DataReaders and projections"
you can use the EntityView(2).createProjection to perform in memory projection, and for the related entities properties, I guess you can provide your own implementation of IEntityPropertyProjector (whereas EntityPropertyProjector only deals with EntityField properties)
Cheers