怎么将一张自关联的表只知道子类ID,怎样才能查出所有的父类

如何将一张自关联的表只知道子类ID,怎样才能查出所有的父类
model:
public tbl_Organize()
        {
               this.Children = new HashSet<tbl_Organize>();
        }
    
        public int OrganizeId { get; set; }
        public Nullable<int> ParentId { get; set; }
        public string FullName { get; set; }    
     
        public virtual ICollection<tbl_Organize> Children { get; set; }
        public virtual tbl_Organize Parent { get; set; }
    }

------解决方案--------------------

        /// <summary>
        /// 根据采购所负责的分类获得包含其的父/祖分类
        /// </summary>
        /// <param name="lstAllCatg">所有分类</param>
        /// <param name="lstBuyCatg">采购所负责的分类</param>
        private List<LinqToSql.Category> GetBuyerPCatg(List<LinqToSql.Category> lstAllCatg, List<LinqToSql.Category> lstBuyCatg)
        {
            var lstPcatg = (from p in lstAllCatg where lstBuyCatg.Select(g => g.Pid).Contains(p.Id) select p).ToList();
            lstBuyCatg.AddRange((from p in lstPcatg where !lstBuyCatg.Select(g => g.Id).Contains(p.Id) select p).ToList());
            //如果还有父节点(Pid!=0)则继续递归,否则返回
            if (lstPcatg.Count() > 0 && lstPcatg.Any(p => p.Pid != 0))
                lstBuyCatg.AddRange((from p in GetBuyerPCatg(lstAllCatg, lstPcatg) where !lstBuyCatg.Select(g => g.Id).Contains(p.Id) select p).ToList());
            return lstBuyCatg;
        }

其实就是一个递归,这里采购负责的分类记录都是子分类,然后要上溯其祖父分类形成树形