여기에서 조건이있는 테이블 메뉴에서 레코드를 가져 오는 LINQ 쿼리는 parentID == 0 (루트 메뉴 가져 오기)이고 !테이블에 쿼리 레코드를 쓰려면 어떻게해야합니까? parentID == 0 및 ID! = (parentID)
List<Menu> menus = MenuDAO.Instance.GetAll(); // Get All Record in Menu Table
var parentID = (from p in menus where p.ParentID != 0 select new {p.ParentID}).Distinct(); // Get unique ParentID in Menu Table
List<int> numParentID = new List<int>();
foreach (var a in parentID)
{
numParentID.Add(a.ParentID);
} // assign to a list <int>
this.ddlMenu.DataSource = from m1 in menus
where !(numParentID).Contains((int)m1.ID) && m1.ParentID == 0
select new { m1.ID, m1.Name };
this.ddlMenu.Databind();
: ID = (parentID 목록), 난 그냥 모든 기록을로드 할 (부모 ID 목록입니다 아이를 메뉴 레코드의 ID입니다)가 아이의 기록과 아이들 기록이없는 루트 메뉴를 포함 그리고 나는이 코드를 실행합니다. 자식이없는 레코드를 표시하고 자식 레코드를 표시하지 않습니다. 누군가 그것을 고쳐 주도록 도와주세요. LINQ에서 새로 추가되었습니다.
결과는 다음과 같습니다. 자식이없는 레코드 목록, 내 메뉴 테이블 스키마는 ID, 이름, 주문, ParentID입니다.
내가 편집 한 게시물과 결과는 다음과 같습니다 : 아이들이없는 레코드 목록, 메뉴 테이블 스키마 : ID, 이름, 명령, 부모. 감사합니다 – NevenHuynh
내 대답을 편집했습니다 –
당신이 너무 많이 nasmifive 감사합니다 – NevenHuynh