我有两个实体:患者和检查站.
患者具有DOB,姓名,ID等属性.
Checkpoint具有dateRecorded,height,weight等属性.
患者具有DOB,姓名,ID等属性.
Checkpoint具有dateRecorded,height,weight等属性.
您可能会得到这样的想法 – 我希望有一组患者,然后每个患者都可以拥有与该患者相关的检查点.
在两个实体上,我应该如何设置设置?设置是:
为此我看了documentation,我仍然感到困惑.我认为我想要的是一对多关系(对于病人),但是我不知道如何为它们中的任何一个设置反转,或删除规则和其他东西.谢谢!!
解决方法
我本周刚刚开始使用Core Data.好问题!
关系:
由于一名患者可以有许多检查站,因此患者与检查站的关系是一对多关系. “反向关系”的概念基本上是这样的:你有一种关系(患者到检查点) – 现在继续从反向看,检查点的角度来看.检查点只适用于单个患者.因此,Checkpoint to Patient关系是一对一的关系.
反向关系:
要处理反向关系,只需创建每个关系,忽略反向关系.然后,在每个对象上建立关系后,继续将逆定义为另一个实体上的关系.
换句话说,关系指向另一个实体或一组实体.反向关系指向另一个实体的关系.
删除规则:
>拒绝:核心数据不允许您删除患者.
>级联:核心数据将删除实体(患者),以及级联关系并删除这些对象. (换句话说,Core Data也会删除Checkpoint对象.)
> Nullify:核心数据将删除患者,但首先删除关系.检查站将保持不变.
对于Patient实体可能需要deny或cascade,具体取决于您希望如何管理数据.根据您的使用案例,您可能不希望无效,因为检查点依赖于患者实体.