2009-11-04 46 views
0

我有两个核心数据实体,比如Account和House。每个账户都可以有一个房屋清单,房屋只能在一个账户中,所以这是一个常规的一对多关系。如何在Core Data中的一组可能的实例中为选定的实体实例建模?

一个帐户还有一个“主要”属性,用于指示许多可能房屋中的哪一个是主要房屋,如果没有房屋,则为零。主要财产的身份可能会改变,当然可能有很多账户,每个账户都有自己的房屋。

我应该将此模型与逆模型一一对应吗?没有?

或者我应该使用一个属性对其进行建模,比如存储关于房屋的独特信息,如地块号,并将其添加到房屋实体?

这两种方法的优点和缺点是什么?还有另一种方法,我应该看看吗?

回答

1

我会将它建模为与逆的一对一关系。尽管你可以逃避反过来。

建议始终使用反转(因此,当数据模型中没有逆时,Xcode编译器会发出警告)。我能想到的唯一原因就是空间不足。如果每个帐户的房屋数量巨大,则可以节省数据库中的空间,以保持单向关系(仅从帐户到主要房屋)。

您在每个实体中使用属性的替代方法将占用数据库中相似的空间量,并且不太有用。通过这种关系,您将在被管理对象之间获得指针,而不仅仅是通过属性来查找它们。

+0

一对一关系的一个优点是,如果我有房子,我可以通过查看逆向主关系来查明它是否是主要关系。 – 2009-11-04 05:18:38

相关问题