Sha*_*amy 46 core-data objective-c relationships ios swift
关于核心数据关系删除规则,我有点模糊.所以如果有人能帮我回答一些关于他们的问题.
我有实体A和B.A与B有to-Many关系,B与A有to-One关系.
A <--- >> B
现在,如果我将删除规则设置为A到Cascade,我知道它会删除与之相关的所有B.但是如果我将它设置为Nullify,它会将Bs设置为NIL还是将外键设置为Nil?
我到处看看从B到A的关系,我应该把它设置为Nullify吗?这只会在A处剔除"B对象"吗?或者它会否使与A相关的所有B都无效?Cascade怎么样?它会删除与A关联的所有B,还是只删除特定的B?
或者我只是对从B到A的关系使用"无操作",这样当我删除B时,A不会发生变化,但是对B的引用将不存在?
我很担心这些,所以请原谅我的问题.
谢谢.
Pau*_*w11 64
如果将删除规则设置为"nullify"并删除A对象,则将删除对Bs中该对象的引用.逆向工作方式相同.如果你有级联并删除B,那么它将删除B指向的A. 然后它将遵循从A到剩余B的删除规则(级联或无效).
您设置的规则实际上取决于您的数据模型.如果A是客户而B是他们的订单,那么您可以将A-> B规则设置为拒绝(如果客户有订单则阻止A被删除)或级联(删除客户时删除订单).B-> A规则可能是"无效".如果删除订单,只需从客户处删除对订单的引用.
Apple Core数据编程指南中描述了关系删除规则
假设我们有包含表人和工作的数据库。一个人可以有很多任务要做。
样本数据和ER关系
"The operation couldn’t be completed. (Cocoa error 1600.)"
在保存上下文时出错。现在要删除钢铁侠人物,我们需要删除他所有关联的任务,然后我们才能删除人物。 归档时间: |
|
查看次数: |
17257 次 |
最近记录: |