2014-01-25 4 views
1

Order에는 많은 수의 OrderLines - 해당 주문과 관련된 구매 항목이 포함될 수 있습니다.이미지를 기준으로 핵심 데이터 모델 관계가 맞습니까?

내 응용 프로그램에서 Order history view controller을보고 싶을 때 관련된 주문 라인과 함께 모든 주문을 선택할 수 있기를 원합니다.

이 설정은 atm입니다. 맞습니까? 올바른 정보 창에 유의하십시오. 그러면 관계 속성에 대한 설정을 볼 수 있습니다. 내가 주문을 선택할 때 모든 orderlines를 검색 할 수 또는 내가 검색이 쿼리를 수행해야 할에 대한 질문 1.

enter image description here

내 관계를 정확 모든 orders과에 다른 모두 orderLines을 검색 한 다음 orderLinesorder이있는 것을 결합하여 결합하십시오. 백엔드에서의 SQL 설정에서 Im이 한 일이긴하지만, 핵심 데이터가 훨씬 더 나은 fasion에서 행을 잡을 수 있기를 희망합니다.

사용자가이 업데이트를 제외하고 Orders 개체에 영향을주지 않고 어떤 OrderLine을 삭제 할 수 있어야한다 2. 상담자 Order's orderTotalAmount property. But my question being, I dont want an 주문 to be deleted when I delete a specific 인 주문 . For that would I need to set the delete rule to 없음 의회 처리? 나는 1 orderOrderLines 많은 사람들이 그것에 관련된 가질 수 있도록 그것을 갖고 싶어

질문 3.는 나의 관계 좋은가요?

답변

3

Apple 권장 사항에 따라 반비례 관계를 설정해야합니다.

OrederLines 주문은 올바르게 설정 한 to-many 및 OrderLines to Orders입니다. 그러나 선택 사항이 아니어야합니다. 주문 당신은 또한 규칙 삭제해야한다 : 계단식 - 당신이 주문을 삭제하면 있도록 모든 관련 OrderLines

삭제됩니다
  1. CoreData 당신을 위해 그렇게 할 것입니다 - 어떤이 게으른 모드로 할 것 이상이다 -시에만 로드 될 관계 오브젝트에 액세스하십시오. 당신은 그것을 바꿀 수 있고 모든 것을 미리로드 할 수 있습니다.하지만 정말로 필요할 때만 가능합니다.

  2. 해당 작업을 무효화해야합니다. 그러면 명령이 올바르게 업데이트되고 관련 개체가 삭제되면 연결이 끊어집니다.

  3. 초창기에 접미사가 추가되었습니다. 주문에서 주문 행까지는 반비례 관계 여야합니다. 이렇게하면 관계를 자동 생성하는 데 사용해야하는 메서드가 생성됩니다. 당신이 관련 개체에 액세스 할 수와

    @property (nonatomic, retain) NSSet* orderLines; 
    

    을 : 그것은 올바르게 Order 클래스도있을 것이다 당신을 설정

    - (void) addOrderLinesObject:(OrderLines*)value; 
    - (void) removeOrderLinesObject:(OrderLines*)value; 
    

.

+0

제 3 접는 질문 pl을보고 대답을 통해 질문에 대답하는 방법을 설명해주십시오.고마워요 – Pavan

+0

고마워요. 당신이 2 번에서 말한 것과 관련하여, 어떤 방법으로 명령이 "업데이트"될 것입니까? – Pavan

+0

예 - 이것이 역관계를 설정해야하는 이유입니다. SQLLite는 주문에 대한 링크를 설정하고 최적화 할 수 있으므로 OrderLines를 결정할 때 Contact에 대한 참조가 있고 Order에서 themselfes를 제거 할 수 있습니다. 포인트 3과 관련하여 –

관련 문제