Ios CoreData-一对多关系-数据模型
这是我的核心数据结构。我有三个实体Ios CoreData-一对多关系-数据模型,ios,core-data,relational-database,entity-relationship,iphonecoredatarecipes,Ios,Core Data,Relational Database,Entity Relationship,Iphonecoredatarecipes,这是我的核心数据结构。我有三个实体房间钥匙和钥匙房地图。现在我在Room和Key中有两个属性。我希望它们的ID属性都应该与第三个表KeyRoomMap关联,并且KeyRoomMap中还有多个元素suggestestplan 我的问题是 这里的结构类似于-SQL表。但我觉得这是最重要的 核心数据结构错误。我想加入keyID和roomID 与KeyRoomMap有一定关系。我怎么能这样做呢 添加keyID和roomID,应自动将其添加到 钥匙室地图 每个房间都有更多的钥匙。所以key1和key2是关
房间
钥匙
和钥匙房地图
。现在我在Room
和Key
中有两个属性。我希望它们的ID
属性都应该与第三个表KeyRoomMap
关联,并且KeyRoomMap
中还有多个元素suggestestplan
我的问题是
keyID
和roomID
与KeyRoomMap有一定关系。我怎么能这样做呢
添加keyID和roomID,应自动将其添加到
钥匙室地图实际上,我的困惑也始于key1和key2是否与Room1关联。我可以通过一对多的关系加入他们。但是keyroomMap实体的定义是为了说明key1和key2与Room1相关联。如果我不做这个表,那么仅仅是基于这么多键的关系,我该怎么说呢???事实上,看起来你像在计划SQL表一样 根据你的解释,这听起来像:
- 一个房间可以有很多钥匙
- 一把钥匙可以打开一个房间
编辑:否则是否建议测试计划一个可以基于其他实体派生或计算的属性?ie.Fetched properties嘿,Daniel,谢谢你的回答,但我真的在想我需要像这个标识符这样的属性吗?因为我使用roomID和locationID作为我的核心数据的主键,现在如果我用关系加入它们,就不需要任何ID了。是吗?是的,没错。我假设标识符是您房间的特定对象,而不是数据库id(即,在酒店房间标识符409中)。如果不是这样,你可以通过他们的关系接触他们。self.room.keys将为您提供一套该房间的钥匙。或者,如果您有一个密钥self.Key.room将为您提供相应的文件室。此外,如果您使用Xcode模型生成器,它将为您在模型类上创建方法来添加和删除对象。Xcode>编辑器>创建NSManagedObject子类。这将使用addKeyObject:(Key*)value等方法为您生成Room.h和Room.m;和addkey:(NSSet*)值;我的难题是,如果数据重复会怎样??我们不需要在每个表中都有一些独特的东西吗?我添加了更多的数据,请在您有空时也查看这些数据?