繁体   English   中英

在Core Data中,建立一对一关系是否是一种好习惯

[英]In Core Data, is it a good practice to have an one-to-one relationship

我有两个实体:Core Data中的A和B。 A与B具有一对一的关系。我是否最好将实体B'Id保存在实体A中,然后在需要时对实体B进行提取?

我的想法:

我仍然认为建立一对一关系会更好。

  1. 我同意有时并不需要一对一的关系。但是我检查了生成的sqlite文件Core Data。 在我看来,核心数据似乎将这种关系另存为带有ID的列。 因此,我认为保存一对一的关系并不比保存一个EntityB'Id的开销更大。

  2. 从实体A获取对象后,具有一对一关系使我无需再次获取即可访问实体B中的相关对象。 而且我认为,一次获取要获得具有关系的对象比两次获取更好。

两种方法都可以。 我同意没有真正的性能影响,而是将数据存储在关系中。 断绝关系非常快。 如果关系中的数据相对较大,则将其存储在单独的实体中是一个好习惯,因为这样一来,在不需要时就不会出错。 将其存储在一个实体中可以简化与fetchedResultsController的交互。 例如,如果正在获取实体A但具有基于实体B的一方的谓词,则如果实体B更改,则fetchedResultsController将会丢失它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM