2017-03-21 84 views
1

假设我有核心数据和三个实体内部:部门,员工,库存 因此,每个部门可以有更多的员工,每个员工可以有更多的记录为库存的项目。核心数据删除所有关系实体

​​

现在还是说,我们有方法(服务,...)返回员工的部门的新名单。(让我们假设,这可能很快发生了。)

的逻辑是,我们删除特定部门的员工的所有实例,然后插入新部门。

最好的方法是(对我),我可以做这样的事情:

let employees_local = myDepartment.employees 
if let employees = employees_local { 
     myDepartment.removeEmployees(employees) 
} 

但是这(在我的理解)只删除这些对象之间的关系,并没有删除所有这些对象。

我知道的解决方案,你删除所有类型的实体(删除所有员工) 如:this postthis one

我甚至知道我可以从ios 9上进行批量删除。 Like here

我的问题是,有没有更快/更好的方法来做到这一点。不应该有办法,你告诉核心数据删除所有对父项没有关系的对象吗?

+0

怎么样:'myDepartment.employees?.forEach(moc.delete)'?或者你可以获取所有'Employee',过滤它并删除它们。 –

回答

1

使用上面查看的示例链接为“this one”。

如果您通过检查与Department的关系为零来过滤雇员的谓词,那只会返回所需的数据项。那么我建议你可以删除所有这些。

+0

是的,我想过这个。我正在寻找更简单的解决方案。 –

相关问题