在Core Data中创建关系以执行删除

时间:2015-06-19 04:08:12

标签: ios objective-c swift core-data

我刚刚开始学习核心数据中的新想法。

我有核心数据数据库,它有三个实体学生部门和一个映射学生和部门的实体。请将其命名为 StudentDepartment

学生将获得主要学生ID的所有学生详细信息 部门将具有主要部门ID

的部门详细信息

StudentDepartment将studentID和DepartmentID作为外键。

可以在一个部门注册多个学生,同一个学生可以注册到多个部门。

如何在核心数据中创建此架构。 如果要删除学生表中的studentID,则应在StudentDepartment表中删除后续行。同样,如果删除department表中的departmentID,则应在StudentDepartment中删除后续行。如何通过使用核心数据建立此关系。

请提供xcmod​​el。

1 个答案:

答案 0 :(得分:0)

CoreData不是数据库,它是一个碰巧(有时)在关系数据库之上实现的对象存储。

实际结果是,您实际上不需要为关系映射显式创建单独的表。而是创建两个实体,然后在两者之间创建关系。根据您的描述,听起来您希望两者之间存在多对多的关系。在实施层面,核心数据将神奇地创建所需的关系表。

此外,您可以为关系的每一侧建立删除规则,该规则要求删除项目时要执行的操作。在这种情况下,您需要将两者的删除规则设置为无效,这将在删除任一端时中断关系。