如何更改 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 中实体的主键?的主要内容,如果未能解决你的问题,请参考以下文章

如何将房间自动生成的主键作为外键添加到另一个实体

可以使用实体框架在另一个表中调用两次作为外键的主键吗?

如何更改 SQLDelight 中表的主键?

如何编写迁移以使用 ManyToManyField 更改模型的主键

EF6:如何在 Select 中包含子属性,以便创建单个实例。避免“相同的主键”错误

如何使用 Hibernate 将一个表的主键用作另一个表的主键