如何更改 MagicalRecord 中实体的主键?
Posted
技术标签:
【中文标题】如何更改 MagicalRecord 中实体的主键?【英文标题】:How to change Primary Key of entity in MagicalRecord? 【发布时间】:2015-01-26 10:06:42 【问题描述】:我在尝试将实体类的属性设置为主键时遇到问题。
我们知道,MagicalRecord 中实体类的默认主键是<entity>ID
。例如,我在 Person 实体中有一个 userID 属性,我的问题是如何将 userID 设置为 Person 的主键,甚至有可能吗?
我曾尝试使用 relatedByAttribute
将 userID 与 personID 关联,但它对我不起作用。
这是我的数据模型的截图
每次我尝试使用 MR_importFromObject
创建/检索 Person 实体时,它都会在 MR_executeFetchRequest
中崩溃
谁能帮帮我?我正在使用可可豆荚安装最新的 MagicalRecord 框架。
谢谢!
【问题讨论】:
我不知道您要在这里解决什么问题。你的目标是什么?搞乱主键与您的崩溃有什么关系? @TomHarrington 我想将 userID 设置为 Person 实体的主键,正确的做法是什么? 我仍然无法弄清楚您要做什么。这不是 SQL,您通常不需要设置自己的主键,因为 Core Data 在内部管理它。 @TomHarrington 我正在使用 MagicalRecord 框架来管理核心数据,在 MagicalRecord 中它将<entity>ID
视为“主键”,现在我想将其自定义为实体中的其他属性。到目前为止,我仍然不确定MagicalRecord是否可以
【参考方案1】:
好的,我找到了为什么它在我的情况下不起作用。
我应该将Person实体中的relatedByAttribute
设置为userID
,它之前是在userID属性用户信息中设置的
【讨论】:
以上是关于如何更改 MagicalRecord 中实体的主键?的主要内容,如果未能解决你的问题,请参考以下文章
如何编写迁移以使用 ManyToManyField 更改模型的主键