// This is dangerous - retrieves all cached objects from the database - use with care ! private static IEnumerable <IObjectFacade> GetAndTidyCachedNakedObjects(this HttpSessionStateBase session, IFrameworkFacade facade, ObjectFlag flag) { session.ClearDestroyedObjects(facade, flag); return(session.GetCache(flag).OrderBy(kvp => kvp.Value.Added).Select(kvp => GetNakedObjectFromId(facade, kvp.Key))); }