Hallo Ich aktualisiere meine Frage für bessere Erklärung.Wie bekomme ich alle Child und Grand Kind Elemente von Eltern ID in linq
Ich habe Tabellenstruktur mit Eltern-Kind-Beziehung wie dieser
i Modul Klasse erstellt haben, wie diese
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; }
}
jetzt will ich menuId 10 mit der Wurzelknoten Neuordnen Dienstleistungen zur Liste .
Dies ist, was ich bisher getan habe
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;
auf diese weise werde ich 2 level child only.how bekomme ich N level childs von root Reordering Services.
Plaese Hilfe, Thankx
Das ist rekursiv, es bedeutet, dass Ihr Tisch nicht gut gestaltet ist. –
Sie benötigen [rekursive CTE] (http://stackoverflow.com/search?q=recursive+cte+linq), die keine LINQ-Unterstützung hat. –
y nicht gut gestaltet. Ich stellte Eltern-Kind-Beziehung zur Verfügung. –