ios - 核心数据一对一单向关系

标签 ios database core-data xcdatamodel

我有 2 个实体,其中总共有 12 个属性,以及某些特定类型字段的最小值、最大值和平均值的 3 种变体。因此,我将 2 个实体重构为 3 个实体,使第 3 个实体成为“值”,其中包含 3 个属性,即最小值、最大值和平均值。并将12个属性缩减为4个关系。这是我的模型的副本,作为下图中的示例。

enter image description here

如您所见,我与第三个实体具有一对一的单向关系。然而,Xcode 一直提示“反向”关系。

enter image description here

按照我的说法,我可以在“值”中添加 4 个关系并将所有关系更新为“反向”,但这似乎不是正确的解决方案,因为当第二个实体与“值”相关联时,它将有额外的 3 个 nil 关系,而在第一个的情况下,它将有 1 个额外的 nil 关系。这两者都是不必要的。

我认为重构“值”并将其拆分为两个相似的实体也不是一个好的解决方案。

因此,任何人都可以建议我什么是解决此问题的正确方法或最佳实践。如果我在描述问题时有任何不清楚的地方,请告诉我。

最佳答案

根据您的描述,我会撤消重构并返回使用属性而不是关系。您正在增加复杂性而没有真正的好处,并且 Values 实体(正如您所发现的那样)过于通用,无法真正有用或有意义。这种重构没有任何用处;不要修复它,还原它。

关于ios - 核心数据一对一单向关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42254095/

相关文章:

iphone - 整数到 NSInteger 并保存到核心数据

iphone - 对 NSString 进行排序

ios - 如何快速过滤字典并将结果输出到 CollectionViewController

mysql - 发生数据库错误 SELECT 列表的表达式 #2 不在 GROUP BY 子句中并且包含非聚合列

core-data - swiftUI核心数据模型

cocoa - 核心数据对多 NSPredicate 与 AND

ios - 试飞 : "You are currently not testing any apps" error

ios - NSAttributedString指定范围?

ruby-on-rails - 如何找到MLS数据?

c# - .NET 使用记录的最佳实践 - 文本文件?数据库?