1

我在 sql 中有一个表,它有三列(ID、Name、ParentID),每列都有很多记录。现在我想要的是从 ParrentId 中获取所有层次结构,将其包含在三个视图中。

这可以通过一些不错的 LINQ 解决方案来解决吗?

我之前尝试的是使用一组 List-s,其中一个是子级,但是会出现问题,因为某些子级列表也可以有更多的子级。

我需要这个带有 linq 代码:

    List<Menu> hList = new List<Menu>();

var m1 = new Menu();

var m2 = new Menu();
var m3 = new Menu();

hList.AddRange(new List<Menu>() { m1, m2, m3});

但当然,在实际示例中,它不仅仅是 3 个子 var-s。

感谢任何帮助和建议!

4

1 回答 1

0
public void FillMenu(EntityCollection menuList, List<Menu> hList, int? parentMenuId)
    {
        var g = from m in menuList
                where ((MenuEntity)m).ParentMenuId == parentMenuId
                select (MenuEntity)m;

        foreach (MenuEntity menu in g)
        {
            var newMenu = new Menu();
            newMenu.Id = menu.Id;
            newMenu.Name = menu.Name;

            newMenu.ChildMenu = new List<Menu>();

            FillMenu(menuList, newMenu.ChildMenu, newMenu.Id);

            hList.Add(newMenu);
        }

    }
于 2013-10-03T12:31:18.853 回答