核心数据删除所有关系实体
Core data delete all relationship entity
假设我有核心数据和三个实体:部门、员工、库存
所以每个部门可以有更多的员工,每个员工可以有更多的物品记录为库存。
Department <--->> Employee <---->> Inventory
现在假设,我们有方法 (service,...) return 部门的新员工列表。(假设这很快就会发生。)
逻辑是删除特定部门Employee的所有实例,然后插入新的。
最好的方法是(对我来说),我可以做类似的事情:
let employees_local = myDepartment.employees
if let employees = employees_local {
myDepartment.removeEmployees(employees)
}
但这(以我的理解)只是删除了这些对象之间的关系,并没有删除所有这些对象。
我知道删除所有实体的解决方案(删除所有员工)
喜欢:this post, or this one.
我什至知道我可以从 ios 9 开始批量删除。 Like here
我的问题是,是否有更快/更好的方法来做到这一点。不应该有一种方法,让您告诉核心数据删除所有与父对象没有关系的对象吗?
使用您在上面看到的示例链接为 "this one"。
如果您使用谓词通过检查与 Department 的关系是否为 nil 来过滤 Employees,那么 return 就是您想要的数据项。那我建议你可以全部删除。
假设我有核心数据和三个实体:部门、员工、库存 所以每个部门可以有更多的员工,每个员工可以有更多的物品记录为库存。
Department <--->> Employee <---->> Inventory
现在假设,我们有方法 (service,...) return 部门的新员工列表。(假设这很快就会发生。)
逻辑是删除特定部门Employee的所有实例,然后插入新的。
最好的方法是(对我来说),我可以做类似的事情:
let employees_local = myDepartment.employees
if let employees = employees_local {
myDepartment.removeEmployees(employees)
}
但这(以我的理解)只是删除了这些对象之间的关系,并没有删除所有这些对象。
我知道删除所有实体的解决方案(删除所有员工) 喜欢:this post, or this one.
我什至知道我可以从 ios 9 开始批量删除。 Like here
我的问题是,是否有更快/更好的方法来做到这一点。不应该有一种方法,让您告诉核心数据删除所有与父对象没有关系的对象吗?
使用您在上面看到的示例链接为 "this one"。
如果您使用谓词通过检查与 Department 的关系是否为 nil 来过滤 Employees,那么 return 就是您想要的数据项。那我建议你可以全部删除。