这是我的核心数据结构。我有三个实体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 *)值; –