public IEnumerable <T> FetchRelation <T>(IZetboxContext ctx, Guid relationId, RelationEndRole role, IDataObject parent, out List <IStreamable> auxObjects) where T : class, IRelationEntry { using (Logging.Facade.InfoTraceMethodCallFormat("FetchRelation", "Fetching relation: ID=[{0}],role=[{1}],parentId=[{2}]", relationId, role, parent.ID)) { try { return(_implementor.FetchRelation <T>(ctx, relationId, role, parent, out auxObjects)); } catch (Exception ex) { Logging.Facade.Error("FetchRelation", ex); throw; } } }
public IList <T> FetchRelation <T>(Guid relationId, RelationEndRole role, IDataObject container) where T : class, IRelationEntry { List <IStreamable> auxObjects; var serverList = proxy.FetchRelation <T>(this, relationId, role, container, out auxObjects); foreach (IPersistenceObject obj in auxObjects) { this.AttachRespectingIsolationLevel(obj); } var result = new List <T>(); foreach (IPersistenceObject obj in serverList) { var localobj = this.AttachRespectingIsolationLevel(obj); result.Add((T)localobj); } PlaybackNotifications(); return(result); }