You could use the OpenAccessContext.CreateDetachedCopy<T>(IEnumerable<T> entities, FetchStrategy fetchStrategy) method to detach a collection of persistent capable instances, applying custom fetch strategy, in order to fetch additional referenced data. Later on the detached collection can be used in your scenario.
Actually if you retrieve the context endpoints (context.Categories), and cache it after disposing the context instance you will be able to use the collection as well.
Hope that helps.
the Telerik team
Follow @OpenAccessORM Twitter channel to be the first one to get the latest updates on new releases, tips and tricks and sneak peeks at our product labs!