//将一个平行数据,整理为一个树形数据
private void Test1(List<myType> allTypeList)
{
  //查找父节点
 List<myType> rootType = allTypeList.Where(o => o.ParentId == -1).ToList();
  //递归主函数
 Action<myType> addChildType = null;
 addChildType
  = (typeInfo =>
     {
      var childInfo = allTypeList.Where(o => o.ParentId == typeInfo.id);
      if (childInfo.IsNullOrDbNull())
       return;
      childInfo.All(
       o =>
        {
         typeInfo.ChildTypes.Add(o);
         addChildType(o);
         return true;
        });
     });
  //递归调用
 allTypeList.ForEach(
  o =>
   {
    addChildType(o);
   });
}