public HashSet <IEntity> GetNavChildren(EntityKey entityKey, NavigationProperty navProp, bool createIfNotFound) { List <NavChildren> navChildrenList = GetNavChildrenList(entityKey, createIfNotFound); if (navChildrenList == null) { return(null); } var navChildren = navChildrenList.FirstOrDefault(uc => uc.NavigationProperty == navProp); if (navChildren == null && createIfNotFound) { navChildren = new NavChildren() { NavigationProperty = navProp, Children = new HashSet <IEntity>() }; navChildrenList.Add(navChildren); } var children = navChildren.Children; children.RemoveWhere(entity => entity.EntityAspect.EntityState.IsDetached()); return(children); }
public HashSet<IEntity> GetNavChildren(EntityKey entityKey, NavigationProperty navProp, bool createIfNotFound) { List<NavChildren> navChildrenList = GetNavChildrenList(entityKey, createIfNotFound); if (navChildrenList == null) return null; var navChildren = navChildrenList.FirstOrDefault(uc => uc.NavigationProperty == navProp); if (navChildren == null && createIfNotFound) { navChildren = new NavChildren() {NavigationProperty = navProp, Children = new HashSet<IEntity>() }; navChildrenList.Add(navChildren); } var children = navChildren.Children; children.RemoveWhere( entity => entity.EntityAspect.EntityState.IsDetached()); return children; }