DatabaseManager.ObjectViewModel.LoadChildren C# (CSharp) Method

LoadChildren() protected method

protected LoadChildren ( ) : void
return void
    protected override void LoadChildren()
    {
      IOptimizedPersistable pObj = (IOptimizedPersistable)m_session.Open(m_objectId, false, null, false, 0, Int32.MaxValue);
      if (pObj != null)
      {
        m_session.LoadFields(pObj);
        object o = pObj.WrappedObject;
        TypeVersion baseShape = pObj.Shape.BaseShape;
        while (baseShape != null)
        {
          foreach (DataMember member in baseShape.DataMemberArray)
          {
            object memberObj = member.GetMemberValue(o);
            LoadChild(member, memberObj);
          }
          baseShape = baseShape.BaseShape;
        }
        foreach (DataMember member in pObj.Shape.DataMemberArray)
        {
          object memberObj = member.GetMemberValue(o);
          LoadChild(member, memberObj);
        }
      }
    }
  }