您好我正在更新我的问题以获得更好的解释。
我有像这样的父子关系的表结构
我已经创建了像这样的模块类
class MenuModel
{
public int ID { get; set; }
public int MenuID { get; set; }
public string MenuItem { get; set; }
public Nullable<int> ParentID { get; set; }
public string ImagePath { get; set; }
public List<MenuModel> Children { get; set; }
}
现在我想列出具有menuid 10的根节点重新排序服务。
这就是我所做的
List<MenuModel> lstMenu = new List<MenuModel>();
NeelamWPFEntities _entity = new NeelamWPFEntities();
var recordlist = _entity.Menus.Where(x => x.MenuID == 10 || x.ParentID == 10).ToList();
foreach (var item in recordlist)
{
MenuModel objMenu = new MenuModel();
objMenu.ID = item.ID;
objMenu.MenuID = item.MenuID;
objMenu.MenuItem = item.MenuItem;
objMenu.ParentID = item.ParentID;
objMenu.ImagePath = item.ImagePath;
lstMenu.Add(objMenu);
}
lstMenu.ForEach(v => v.Children = lstMenu.Where(vv => vv.ParentID.Equals(v.MenuID)).ToList());
lstMenu = lstMenu.Where(u => u.ParentID == null).ToList();
return lstMenu;
通过这种方式,我将只获得2级孩子。如何获得根目录重新排序服务的N级孩子。
Plaese帮助, Thankx
答案 0 :(得分:-1)
你不能做那样的事吗
foreach(var correctParent in recordlist){
var grandChild = _entity.Menus.Where(x => x.ParentID == correctParent.MenuID).ToList();
//add your grandChild in a listOfAllGrandChild ...
}
将所有grandChild添加到一个实体中,然后将grandChild和recordList相加,并对其进行区分吗?