为指定的父母安排各级子女

维沙尔

我有一个称为组的表。该表的结构为:

GroupID     1-------
GroupName          |
ParentID    *-------

现在,我想查找特定父母的所有子女和孙子女。

我试过下面的代码。但这仅使我的孩子们达到了第二级:

List<string> groups = new List<string>();


var parent = (from g in db.Groups
              where g.GroupID == 1
              select g).FirstOrDefault();

var Children = (from x in db.Groups
                where x.ParentID == parent.GroupID
                select x);

groups.AddRange(Children.Select(x => x.GroupName));

foreach (Group children in Children)
{
    var grandChildren = (from x in db.Groups
                         where x.ParentID == children.GroupID
                         select x.GroupName);
        groups.AddRange(grandChildren);
}  


StringBuilder builder = new StringBuilder();

foreach (string str in groups)
{
    builder.Append(str.ToString()).AppendLine();
}

MessageBox.Show(builder.ToString());
米恰尔·克热申斯基(MichałKrzemiński)

您可以尝试像这样递归地执行此操作:

IEnumerable<Group> GetAllChildren(Group parent) 
{
   var result = (from x in db.Groups
            where x.ParentID == parent.GroupID
            select x);
   foreach (Group child in result)
   {
      result.AddRange(GetAllChildren(child));
   }
   return res;
}

这只是一个示例,并不检查循环引用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为员工提供父母/子女的SQL递归

来自分类Dev

为每对父母子女和子女父母关系选择一行

来自分类Dev

XSLT:获取具有指定属性的父母的所有子女

来自分类Dev

JPA父母/子女关系

来自分类Dev

子女与父母之间的联系

来自分类Dev

访问父母的最近子女

来自分类Dev

父母与子女的树形结构

来自分类Dev

MySQL计数父母和子女

来自分类Dev

JPA更新父母子女

来自分类Dev

MS Access父母/子女关系

来自分类Dev

获取所有父母的子女父母关系

来自分类Dev

SQLAlchemy过滤父母的父母和子女表

来自分类Dev

如何使“父母-子女-父母”范围保留在“父母”内部?

来自分类Dev

如何按子女的子女数对EF父母进行分类?

来自分类Dev

如何处理父母/子女/孙子女的关系?

来自分类Dev

复制父母,子女和孙子记录

来自分类常见问题

回应父母/子女状态变更设计问题

来自分类Dev

CTE取得父母的所有子女(后代)

来自分类Dev

nHibernate-父母和子女的收藏清单

来自分类Dev

父母子女关系借阅检查器

来自分类Dev

在父母或子女中定义样式的位置

来自分类Dev

C#中的子女父母财产变更

来自分类Dev

处理Umbraco中的父母/子女内容关系

来自分类Dev

如何使用Tire在父母/子女关系中指示对象的父母

来自分类Dev

获取父母编号不总是匹配的父母/子女

来自分类Dev

Laravel父母与子女的关系,请勿将自己视为父母

来自分类Dev

推荐人,推荐人,父母和子女

来自分类Dev

父母/子女ISA中最低的共同祖先?Clojure中的等级

来自分类Dev

实体框架6-选择子女平等的父母