이 문제에 대한 해결책을 찾고 있었지만 지금까지 찾을 수 없었습니다.부모와 자식 모두 한 테이블에 대해 LINQ를 사용하여 반환하는 방법
나는 한 가지 린크 (linq) 호출로는 가능하지만 작동하는데 문제가 있음을 확신한다.
나는 다음과 같은 데이터 구조 이제
Id ParentId Name ValidFlag
1 NULL parent 1 1
2 NULL parent 2 1
3 NULL parent 3 0
4 1 child 1 1
5 1 child 2 1
6 2 child 3 1
7 2 child 4 1
8 3 child 5 1
9 3 child 6 1
내가하고 싶은 것은이 경우 내가 아이디 = 3 (부모 3)를 제외한 모든 반환 모든 유효한 부모와 자녀를 돌려 주어에게 있습니다.
LINQ를 사용하여이 작업을 수행하는 간단한 방법이 있습니까? 내 추측하지만 거기에 내 LinqIQ 매우 제한된, 나는 기초를 알고 있지만 그 이상의 도움이 많이 필요합니다.
ToLookup() 또는 Union의 경우입니까?
업데이트 : 내가 1 년에 부모 나 자녀 여부 모든 레코드를 반환 할
내가 그렇게하는 데 실패했습니다 기록의 두 가지 유형은 같은 테이블에있는 것처럼 구체적으로는 가능한 경우 쿼리.
ValidFlag = 1 인 모든 레코드를 선택하는 것만 큼 간단하지가 않습니다. 원본 데이터베이스가 엉망이며 모든 레코드를 가져 오는 유일한 방법은 "유효한"부모를 찾은 다음 "유효한"부모의 모든 자식을 찾는 것입니다 . 나는 모든 유효한 부모 레코드를 반환하는 간단한 쿼리를 수행 한 다음 해당 부모의 모든 자식을 찾기 위해 별도의 쿼리를 수행 할 수 있지만 1 LINQ 쿼리로 결합하면 실패 할 수 있음을 알고 있습니다. 이 경우 유효하지 않은 부모 항목의 유효한 하위 항목이있을 수 있으므로 질문이 필요합니다.
달성하고자하는 최종 결과를 지정할 수 있습니까? 자식과 부모가 한 행에 합쳐 지거나 어떻게 될까요? – andri
ValidFlag는 행을 반환하는지 여부에 영향을주는 유일한 것입니까? –
시도한 코드를 보여줄 수 있습니까? –