删除具有一对多关系的实体
Posted
技术标签:
【中文标题】删除具有一对多关系的实体【英文标题】:Deleting Entities with one-to-many relationships 【发布时间】:2015-05-06 02:19:21 【问题描述】:我正在尝试找出针对我的特定场景处理实体删除的最佳方法。我有三个实体:Item、Purchase 和 PurchaseJoin。
Purchase:与 PurchaseJoin 具有一对多的关系。
Item:与 PurchaseJoin 具有一对多关系。
所以我不会删除任何购买,它们的历史将永远保留。项目将被删除。商品有价格和名称,如果商品被删除,我需要这些属性来跟踪。
什么是删除项目的最佳方法,但仍保留有关该项目所属的任何购买的相关信息?
我的想法是在删除时将 PurchaseJoin 与 Item 关系设为 NULLIFY,但将 Item 的属性添加到 PurchaseJoin。
【问题讨论】:
【参考方案1】:点击关系属性,在 Inspector 部分点击 Data model Inspector-> Delete Rule
将删除规则设置为无操作
这可能会达到您的目的
【讨论】:
当这个选项被选中时,Item会被删除,但关系会保持不变?这是否意味着关系仍然能够访问已删除项目的属性,或者它们实际上已被删除?以上是关于删除具有一对多关系的实体的主要内容,如果未能解决你的问题,请参考以下文章
使用核心数据,当一对多关系低于最小计数时,是一种自动删除实体的方法吗?