1
您好,我正在更新我的問題以獲得更好的解釋。如何從linq中的父母ID獲取所有子女和大孩子元素
我也有這樣的
我創建模塊類這樣
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; }
}
現在我想有菜單ID 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
這是遞歸的,這意味着你的桌子設計不好。 –
你需要[遞歸CTE](http://stackoverflow.com/search?q=recursive+cte+linq),它沒有LINQ支持。 –
不是很好的設計。我提供了親子關係。 –