讓我把東西放下一個小老同學ASCII模式。
Deal
- stuff
Contact
- stuff
- dealcontacts ->> DealContact
- primarydealcontact -> DealContact
DealContact
- stuff
- deal -> Deal
- contacts ->> Contact
- primary -> Contact
好的。
這東西不是非常coredataish。
第一件事第一件事。
Deal
:我不明白這一點不會有一個反比關係到DealContact.deal
。您必須手動處理Deal
刪除操作,以確保沒有相關的Deal
而沒有DealContact
。這種相反的關係幾乎無濟於事。
Contact
:爲什麼Contact.primarydealcontract
是一對一的關係?您確定Contact
不能成爲幾個Deal
的主要聯繫人嗎?
無論如何細節。讓我們來討論一下不是非常低調的。 DealContact
。
該實體的要點是什麼?基本上,你有Deal
連接到很多Contact
,包括主Contact
。 DealContact
中的其他字段肯定與Deal
或Contact
相關,那麼爲什麼要爲他們設立專門的實體?
這是我所看到的實體:
Deal
- stuff // from Deal & from DealContact
- contacts ->> Contact
- primarycontact -> Contract
Contact
- stuff
- deals ->> Deal.contacts
- dealsprimary ->> Deal.primarycontact
核心數據將創造必要的關係表來跟蹤許多一對多的關係。核心數據做得很好。
當然,我不知道你的應用程序的所有細節,所以我的建議是,好,一個建議。而已。它可能適合您的需要,或不適合。但考慮你所說的話,它應該適合你。
感謝您的出色建議。這極大地幫助消除了我的模型的複雜性並簡化了應用程序的整體。但這並未解決問題。見下面的解決方案。 – 2012-07-14 22:04:26