核心数据 - 关系,提取和插入

时间:2015-03-09 05:12:23

标签: ios mysql objective-c xcode core-data

我第一次在我的一个项目中使用CoreData。我的表格涉及FOREIGN KEYS,由于CoreData不支持FOREIGN KEYS,我遇到了一些问题。

以下是我的表格的结构。

Table Structure

我的问题是establishment属性。建立属性应该保存Facilities表中特定设施的名称。但是,由于它是一种关系,Xcode需要Facility而不仅仅是设施名称(NSString)。

这可能,或者我只是在FOREIGN KEYS中将RELATIONSHIPSCoreData混在一起?我该如何解决这个问题?

提前致谢。

1 个答案:

答案 0 :(得分:0)

关系属性,因此它没有类型。在模型编辑器中,您可以显式添加关系。

从图中,我看到你没有设置反比关系。需要存在从nameAssessors实体的对应关系。 (在模型编辑器中将"目的地"设置为Assessors。)

我还建议重命名一些项目。

首先,使用单数:AssessorFacility。这些是对象(与类相比),而不是表。

其次,因为您的name属性引用了评估者,所以将其称为assessor,并类似地调用其反向关系facilities(这是这个方向上的多对多关系,所以复数是合适的)。

如果您需要设施评估员的姓名,请使用

facility.assessor.name

这应该很明显为什么你不需要外键。实际上,我会敦促您认为核心数据不支持外键,但传统的关系数据库不支持关系!