public List <TreeViewModel> GetTreebyRole(string roleId) { var items = new List <TreeViewModel>(); var roleMenus = db.GetMenusByRoleId(0, roleId);//GET Root Nodes //var rootMenus = from m in db.Menus // join a in db.MenuAccesses on m.Id equals a.Id where a.RoleId == roleId && a.HasAccess_YN == true && m.Parent_Menu_Id == null // select m; foreach (var m in roleMenus) { TreeViewModel rootNode = new TreeViewModel() { text = m.name, icon = m.DisplayName, id = m.id.ToString(), state = new TreeAttribute { id = m.id.ToString(), selected = m.selected == 1 ? true : false } //parent = "#" }; BuildChildNodeByRoleId(rootNode, roleId); items.Add(rootNode); } return(items); }