【发布时间】:2015-05-29 02:33:05
【问题描述】:
我对核心数据关系删除规则有点模糊。所以如果有人可以帮我回答一些关于他们的问题。
我有实体 A 和 B。A 与 B 有一对多关系,B 与 A 有一对一关系。
A>B
现在,如果我将 A 处的删除规则设置为 Cascade,我知道它将删除与其相关的所有 B。但是如果我将它设置为 Nullify,它会将 Bs 设置为 NIL 还是将外键设置为 Nil?
我到处查看从 B 到 A 的关系,我应该将其设置为 Nullify 吗?这是否会使 A 处的“B 对象”无效?或者它会使与 A 相关的所有 B 无效?级联呢?它会删除与 A 关联的所有 B,还是只删除特定的 B?
或者我只是在从 B 到 A 的关系上使用“No Action”,这样当我删除 B 时,A 不会发生任何变化,但对 B 的引用将不存在?
我对这些很困惑,所以请原谅我的问题。
谢谢。
【问题讨论】:
-
如果我在 One 关系上将其设置为“Nullify”(如下面的答案中建议的那样),则 NSBatchDeleteRequest(objectIDs: ...) 会引发错误。但是将其设置为“无操作”,这会产生编译器警告。 Apple 的文档不能令人满意。现在是 2020 年,仍然没有答案?
标签: ios objective-c swift core-data relationships