【问题标题】:Delete orphan child after updating one to many relationship更新一对多关系后删除孤儿
【发布时间】:2013-07-12 18:47:50
【问题描述】:

我有一个从 A 类到 B 的一对多关系。这种关系不是可选的,所以 B 类的每个对象都应该与 A 类的一个对象关联。反之则不成立,A 类的对象可能有 0 到 B 类的任意数量的对象。

当我更新 A 类型的对象时,它可能会停止指向它之前指向的 B 类型的对象。这会强制反向关系为零,从而破坏数据库。

在此更新后,我开始看到类似于以下内容的错误:

Exception Reported Error Domain=NSCocoaErrorDomain Code=1570 "The operation couldn’t be completed.

NSValidationErrorObject 是 B 类型,而 NSValidationErrorKey 是这种反比关系。

在对 A 进行任何更新后,我想删除任何 B 类型的无用对象。有什么办法吗?

谢谢。

【问题讨论】:

    标签: ios objective-c core-data


    【解决方案1】:

    为什么在更新对象 A 的时候不删除对象 B?

    【讨论】:

    • 一方面,我想自动保持一致性。我不想手动担心这些更新。另一方面,对象在我们使用的通用库中更新,我不应该修改(在这种情况下我不能)。对象在运行时进行分析,并根据字典中的描述进行修改。基本上,我们从不直接更新对象,而是通过一个可以处理任何类型对象的通用库,我不能向它添加新逻辑。
    猜你喜欢
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 2015-10-06
    相关资源
    最近更新 更多