如何在映射模型中设置反向关系的值?

Posted

技术标签:

【中文标题】如何在映射模型中设置反向关系的值?【英文标题】:How do I set the value of an inverse relationship in a mapping model? 【发布时间】:2011-02-14 21:08:43 【问题描述】:

在我的模型 v1 中,presentationslides 之间存在一对多关系:

presentation---->>slides

在 v2 中,我通过添加一对一的逆来解决这个愚蠢问题:

presentation<--->>slides

在这两个模型中,slide 属于 1 且仅属于 1 presentation(尽管模型中并未对此进行编码)。

如何在映射模型中指定值表达式来创建slide--&gt;presentation关系而不创建NSEntityMigrationPolicy子类?

【问题讨论】:

【参考方案1】:

据我所知,在映射中使用值表达式是不可能做到这一点的。解决方案是为映射创建一个NSEntityMigrationPolicy 子类。

NSEntityMigrationPolicy 子类中覆盖createRelationshipsForDestinationInstance:entityMapping:manager:error:。在此方法中,使用在管理器 destinationContext 中执行的标准 NSFetchRequest 获取相关对象。请务必致电super 以确保任何其他关系也被迁移。

【讨论】:

以上是关于如何在映射模型中设置反向关系的值?的主要内容,如果未能解决你的问题,请参考以下文章

我如何在这个问题中设置关系,评论可以有很多回复

如何从 RestKit 中的 JSON 数组进行映射 [重复]

在订购应用程序中设置核心数据关系

在Objection.js中,设置RelationMappings有什么好处?

如何从 Core Data 中的关系相关实体获取属性?

如何在graphql突变中设置多对多关系?