2013-04-29 2 views
0

다른 엔티티의 데이터 조합을 가져오고 싶습니다. 여러 엔티티 (위치, 이벤트 등 여러 종류의 태그)가 있고 "모든 태그"(즉 모든 태그 엔티티의 조합)를 보여주는 테이블보기의 데이터를 원합니다. 이러한 종류의 유스 케이스에 대해 코어 데이터로 페치 요청을하려면 어떻게해야합니까?핵심 데이터 연합 쿼리 동등 물

핵심 데이터가 ORM이 아니라는 것을 알고 있지만 위의 설명이 충분하지 않은 경우 해당 데이터베이스 사용 사례를 설명합니다. 예 : 다른 표가 있습니다. 이벤트, 위치, 사람 등이 있으며 다른 테이블의 결과를 UNION에 원합니다. UNION은 열이 아니라 행을 연결 함을 기억하십시오.

하나의 분명한 해결책은 다른 엔티티에서 데이터를 개별적으로 가져온 다음 NSMutableArrays를 연결하는 것입니다. 보다 효율적인 방법이 있는지 궁금합니다.

답변

0

는, 엔티티는 (NSManagedObject 제외) 모델에 동일한 기본 클래스가에 '연합'같은 페치 요청에서 두 개 이상의 개체 유형 ...되지 않은 경우로

를 가져올 수있는 방법이 없습니다.

예를 들어, 모든 엔티티가 Tag이라는 기본 클래스에서 상속받는 경우 모두 함께 가져올 수 있습니다.

그러나 실제 데이터베이스 파일에서 이러한 모든 엔티티 (클래스 간 교차가 작은 경우 매우 희소 한 테이블)에 대한 통합 테이블을 생성합니다.

경우에 따라 '사람'과 '위치'사이에 실제 연결이 없기 때문에 가능하지 않을 수 있습니다. 그렇지 않으면 성능 문제가 발생할 수 있습니다.

다른 해결책은 각 엔터티에 대한 인출 요청을 만드는 것입니다 (사용자가 제안한대로).