CoreData 模型架构和关系

Posted

技术标签:

【中文标题】CoreData 模型架构和关系【英文标题】:CoreData Model Schema and Relationships 【发布时间】:2021-04-02 02:25:51 【问题描述】:

我对我的 CoreData 模型中的关系有疑问。

我现在有两个实体。 1. 航班,2 机场 我已将模型的屏幕截图附加到这篇文章中。

我的问题是如何将航班与机场联系起来。在我的 SQL 数据库架构中,我每个都有外键,但在 CoreData 中,我怎样才能正确设置这种关系。

基本上,航班有一个起点和一个目的地。

任何帮助将不胜感激。

AV

【问题讨论】:

【参考方案1】:

您可以在两个实体之间创建两个单独的关系:

    从 Flight 到 Airport 的“origin”关系(对一),从 Airport 到 Flight 的一对多逆向关系、“flightsStartingHere”和 从 Flight 到 Airport 的“destination”关系(也是到一个),具有一对多逆向关系,“flightsTerminatingHere”。

如果您的航班有多个站点,生活会变得更加复杂。在这种情况下,我会将每个航班建模为具有多个航段,并且每个航段都有一个起点机场和一个目的地机场。但详细信息将取决于您正在模拟的 SQL 数据库。

【讨论】:

谢谢 pbasdf 我想我已经设置好了。基本上在 Flight 上,对于 MVP,它现在都是从起点到目的地。以后可能有腿,但不太可能。我有两个与 Airport 的实体,它们的关系是 flightStartHere(对许多)与起点相反,而 flightTerminatingHere(对许多)与目的地相反(对一个)。并且航班具有起点(到一个)的关系和 flightStartHere 的倒数以及具有 flightTerminatingHere 倒数的目的地。这是您提到的正确设置吗? @AVSoftware 是的,这就是我的建议。 感谢我是 CoreData 的新手,并试图了解外键的工作原理

以上是关于CoreData 模型架构和关系的主要内容,如果未能解决你的问题,请参考以下文章

RestKit 一对多逆向关系(无CoreData)

CoreData:获取具有给定属性和给定关系的对象?

两个 NSArrayController 和一个关系(CoreData)

Swiftui中CoreData关系和显示图像列表

访问 CoreData 关系

从 CoreData 关系中获取错误实体的对象