I see your point. I'm thinking however I might have posted this in the wrong section...at least for the goal I'm trying to accomplish. I'm just looking for a quick way to grab a related collection. I was not expecting the secondary collection to be linked to the initial collection in the ES hierarchy, although I can see why you had that thought from my message and this topic area.
My use would entail retrieving the initial collection without a join on the secondary table. Then, the method to retrieve the related collection would act just as if I looped through the PKs of the first collection and used them in the WHERE clause as an IN([First Collection PKs]) statement. There would be no join syntax needed. I suppose you could look at it as always being an INNER JOIN, but as I was thinking of using the collections apart from each other and not hierarchically bound, I really don't see the need for a join at all since you have a collection of PKs ready for the WHERE clause of the second collection.
I can see the benefits of keeping the hierarchy intact. Could there be something in the Dynamic Query codebase that could be applied to specify the join type as an option on the method to pull the related collection? IE: collResource.InnerJoin(collResource.AgencyCalendarCollectionByAgencyResourceCollection)?