关系如何在 coreData 中运作

How relationship works in coreData

我知道如何在 coredata 中创建关系,但我不知道它是如何工作的。

例如:

员工: 姓名 编号

部门: 名字

我可以在 'Department' 和 'Employee' 之间创建关系(一对多),当我获取 'Department' 时,我也会自动获取员工。

如果没有关系,我会在部门中创建一个字段(employeeId),并加入'Employee' table。

我不知道 coredata 如何通过关系获得正确的员工。

谢谢

您可以在 NSFetchRequest 中使用 NSPredicate 获取正确的雇员。 NSPredicate 类似于数据库中使用的 where 子句。 请检查:Use NSPredicate in CoreData FetchNSPredicate in CoreData

希望对您有所帮助。

你可以从真正的sqlite文件中探索什么是实体。

例如 我有这个关系

当我添加三条记录时,我使用SliteBrowser查看SQLite文件 它有五个 table

Z 部门 Table ZEMPLOYEE Table

注意我在ZEMPLOYEE中选择的,在ZDEPARTMENT中保存了department的id,所以很清楚核心数据关系是如何工作的。

注意:

  • Z_PK 是 SQLite 中唯一的 Table
  • Z_ENT 是他们的实体 ID 与 Z_PRIMARYKEY table
  • 中列出的相同