0

例如,我有两个名为Class和的实体Student。两个实体通过一对多关系连接,“Class”有一个 ClassID 字段,Student 有一个 ClassID 和 StudentID 字段。

我对这种情况有几个问题:

  1. 当我在 Class 和 Student 之间定义 Connection 时,它们是通过 ClassID 连接的,还是 Core Data 以某种方式创建了自己的连接?
  2. 在保存了一个 Class 实体之后,假设我想向它添加一个 Student。我可以添加一个具有该 ClassID 的新学生,还是我必须获取 Class 对象,将一个学生添加到其 .students NSSet 对象,然后将其保存回 Core Data ?
  3. 如果后一个选项是唯一的选项,我将如何继续更新 Core Data 中的记录?Fetch 使用 NSFetchRequest,更改它,而不仅仅是再次保存托管对象上下文?

很抱歉有很多问题,我非常感谢您对此提供的任何帮助:)

4

1 回答 1

1
  1. 就核心数据而言,您的 ClassID 只是用户数据。它不参与关系。

  2. 第二种选择。Core Data 持久化对象及其关系,因此策略是更新对象然后保存它们。

  3. 是的,尽管应用程序通常已经加载了相关记录,以便让用户指示他们想要的连接。

将您的班级称为“班级”会令人困惑。:-)

于 2012-04-12T14:53:59.350 回答