2011-06-15 3 views
3

다음 플랫 데이터 구조를 사용합니다.플랫 데이터 구조를 계층 구조로 변환 C#

ParentAttributeId AttributeId List 
----------------- ----------- ------ 
NULL    29   TestcaseCollection 
29    30    EnclosureLeakageDielectricStrengthTest 
30    31     DeviceID 
30    32     ScannerOneLowChannel 
30    33     ScannerTwoLowChannel 
29    34    EnclosureLeakageLeakageCurrentTest 
34    35     DeviceID 
34    36     ScannerOneLowChannel 
34    37     ScannerTwoLowChannel 
29    38    PatientCircuitLeakageTest 
38    39     DeviceID 
38    40     ScannerOneLowChannel 
38    41     ScannerTwoLowChannel 
29    42    SIPSOPDielectricStrengthTest 
42    44     ScannerOneHighChannel 
42    45     ScannerOneLowChannel 
42    46     ScannerTwoHighChannel 
42    47     ScannerTwoLowChannel 
29    48    SIPSOPLeakageCurrentTest 
48    49     ScannerOneHighChannel 
48    50     ScannerOneLowChannel 
48    51     ScannerTwoHighChannel 
48    52     ScannerTwoLowChannel 

위의 플랫 데이터 구조를 아래의 계층 구조 개체 구조로 변환해야합니다. 그래서 내 Object는 위의 "목록"열과 같습니다. 위의 데이터를 얻기 위해 SQL Stored Proc를 사용하고 있습니다. C#을 사용하고 있습니다. 어떤 도움을 크게 감상 할 수

29 
    | 
    30 
    | 31 
    | 32 
    | 33 
    | 
    34 
    | 35 
    | 36 
    |37 
    38 

개체 계층 구조.

감사 Niju

답변

0

AutoMapper 봤어?

이것이 필요한 것이 확실치 않지만 한 형식에서 개체 모델로 변환하는 데 자주 사용됩니다.

또 다른 방법은 LINQ를 사용하여 가지고있는 데이터를 쿼리하고 모델을 만드는 것입니다.

저는 여러분이 비슷한 것을 말할 수 있다고 생각합니다. 이것은 테스트되지 않았습니다. 데이터 목록에서 선택

선택 새 {....

위치를 작성중인 새 오브젝트 될 새.

그러나 귀하의 목록을 반복하는 무차별 대입 방식이 여전히 길일 수 있습니다.

편집

this might help.

+0

안녕하세요 griegs하지만이 구조로 AutoMapper를 사용할 수 없습니다. – niju

+0

아, maye LINQ? 나를 알려주지 않으면 내 대답을 제거합니다 – griegs

+0

EF4와 AutoMapper를 사용하여 구조를 가져올 수 있지만 EF4로 생성 된 SQL은 매우 크고 비효율적입니다. – niju

관련 문제