
我们使用Apple的文档中使用的Employees-Department示例.虽然现实生活的含义可能对这些适用于员工与部门关系的规则是可笑的,但作为程序员,我们只是在谈论他们在逻辑上的逻辑含义.
>拒绝
如果在关系目的地有一个对象,则源对象不能被删除.
例如,如果要删除员工,无论其部门是否还有其他员工,您必须确保部门首先被删除,否则员工不能被删除.
> Nullify
从目标对象的反向关系中删除源对象. (见@ bshirley的简洁解释)
例如,如果您删除了员工,请将他从他的部门的员工关系中移除.如果部门的剩余员工数量大于所需的最低数量,或者如果您确保在下一次保存 *** 作之前为部门添加新员工,这只会有意义.
[问题:如果是最后一位员工,该部门的员工关系会变成空吗?
(由@TechZen回答:一对多关系总是返回一个设置的对象,它永远不会是零,如果对方的对象没有对象,则该对象为空.)
级联
删除关系目的地的对象.
例如,则同时删除他的部门,即使部门还有其他员工.
(使用注意事项:通常会在整个对象图形中产生“一个删除链的整个对象图”,如@TechZen在他的例子中所描述的.)
>没有行动
在关系的目的地对对象不做任何事情.
例如,如果您删除员工,请尽可能离开他的部门,即使它仍然相信拥有该员工.
从这里可以推断“多对多关系删除规则”的含义.
解决方法 这些是所有关系(而不是属性)的删除规则.它们适用于一对多关系.> Nullify – 如果你删除了一个员工,那么反向关系设置为nil,如果是1对1,那么在这种情况下,部门的员工减少一个>级联 – 如果你删除一个员工,它的部门将被删除.该部门将遵循所有属性的删除规则,1)如果员工删除规则为Cascade,则该 *** 作将删除所有员工; 2)如果雇员删除规则为Nullify,则所有员工都将被“搁置”而没有部门
总结以上是内存溢出为你收集整理的ios – 删除多对一关系的规则全部内容,希望文章能够帮你解决ios – 删除多对一关系的规则所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)