1

여러 결과 집합을 반환하는 저장 프로 시저가 있습니다. 각각은 복잡한 유형입니다. 첫 번째 결과 집합에는 두 번째 결과 집합과 같은 복합 유형의 항목 목록이 포함됩니다. 이러한 요소는 특정 엔터티와 명확하게 상관 관계가 없습니다. 예를 들어, 내 POCO 클래스는 문서, 그러나 EF 6의 "엔티티와 복잡한 유형은 이제 클래스 내에 중첩 될 수있다"에 따르면엔터티 프레임 워크 중첩 복잡한 형식

public partial class Message 
{ 
    public string Subject { get; set; } 
    ... 
    public List<Recipient> Recipients { get; set; } 
} 

public partial class Recipient 
{ 
    public string Email { get; set; } 
    ... 
} 

해야한다, 나는 복잡한의 목록을 작성하는 방법을 알아낼 수 없습니다 내 첫 번째 복합 유형 내에서 입력하십시오. 내 FunctionImport를 편집하고 열 정보 가져 오기를 사용하면 첫 번째 복합 유형 만 반환합니다. 새 복합 유형 만들기를 시도하면 여전히 첫 번째 복합 유형 만 반환합니다. 마지막으로 필자는 수동으로 필요한 복잡한 유형을 모두 작성하고 Message 복합 유형에 수신자 복합 유형을 추가하려고 시도했지만 단일 수신자 만 추가 할 수 있습니다. 복잡한 유형을 중첩하기 위해해야 ​​할 특별한 것이 있습니까? 거기에 예제가 있습니까? CodePlex에서이 문제를 해결할만한 것을 찾지 못했지만, 그냥 놓칠 수도 있습니다.

미리 도움 주셔서 감사합니다. 다른에 하나 명의 클래스 선언을 두는 것을 의미 중첩으로

답변

3

내 의견에 : 그것은 될 수 EF6에있는 동안 EF 이전 버전의

public class A { 
    public class B { } 
} 

는, 클래스 B는 어느 기업이나 복잡한 형태로 매핑 할 수 없습니다. 이 기능과 관련된 중첩의 유일한 의미입니다.

질문에 대해서는 여전히 복잡한 유형의 목록을 매핑 할 수 없습니다. 목록을 원한다면 엔티티 (부모와 자식 모두)를 사용해야합니다.

+0

감사합니다. 여러 결과 집합에 [이 기사] (http://msdn.microsoft.com/en-us/data/JJ691402.aspx)에 나열된 것보다 제 상황을 처리 할 수있는 더 좋은 방법이 있었으면합니다. – ChristyPiffat

+0

@ChristyPiffat : 스토어드 프로 시저를 실행할 때 계층 구조가 자동으로 매핑되지 않으므로 어쨌든 여러 결과 집합을 피할 수 없습니다. 저장 프로시 저는 결과 세트 당 플랫 오브젝트 만 리턴 할 수 있습니다. –