這是我的核心數據結構。我有三個實體Room
Key
和KeyRoomMap
。現在我在Room
和Key
中有兩個屬性。我希望他們兩個的ID
屬性應該與第三個表KeyRoomMap
相關聯,並且在KeyRoomMap
中還有更多的一個元素SuggestedTestPlan
。
我的問題是
- 這就好比結構 - 在這裏SQL表。但是我覺得這是核心Data中的錯誤結構 。我想加入
keyID
和roomID
與KeyRoomMap有一些關係。我怎麼能這樣做,就像我 添加keyID和roomID,它應該被自動添加到 KeyRoomMap? - 每個房間都有更多的鑰匙。所以key1,key2與room1相關聯 ,key3與room2和key4,key5,key6與room3 。如何在這裏建立這樣的關係?
-----------------------編輯和添加
其實我的困惑也開始與key1的,如果和鍵2與會議室1相關。我可以加入他們與那裏的一對多關係。但keyroomMap實體被定義爲說key1和key2與Room1相關聯。如果我不製作這張表,那麼只有在這麼多的關鍵字的基礎上,我應該怎麼說?
嘿丹尼爾感謝您的回答,但我真的在想我是否需要像這個標識符的任何屬性?因爲我在我的核心數據中使用了roomID和locationID作爲主鍵,現在如果我將它們與關係結合在一起,那麼不會有任何需要的ID。對 ? –
是的,這是正確的。我曾假設標識符是特定於你的房間而不是數據庫標識符的東西(即在酒店房間標識符409中)。如果不是這種情況,你可以通過他們的關係訪問他們。 self.room.keys將爲您提供該房間的一組密鑰。或者如果你有一個key self.key.room會給你相應的房間。 –
另外,如果您使用Xcode模型生成器,它將在您的模型類上爲您創建方法來添加和刪除對象。 Xcode> Editor>創建NSManagedObject子類。這將使用addKeyObject:(Key *)值等方法爲您生成Room.h和Room.m;和addKeys:(NSSet *)值; –