核心数据:继承、STI 还是其他?

Posted

技术标签:

【中文标题】核心数据:继承、STI 还是其他?【英文标题】:Core Data: Inheritance, STI or otherwise? 【发布时间】:2010-02-23 19:20:48 【问题描述】:

我似乎无法在文档中或通过 Google 找到任何关于此的信息,但如果有的话,指向它的指针会很棒。

在我的应用程序中,我有一个 Thing 作为核心数据类。我打算让Thing 包含许多Items,其中包含一堆字段,例如ordercreated_date 等等。但是,有多种Item 类型,每种类型都有自己的字段集。理想情况下,我想创建Item 的几个子类,这样我就可以在一个数组或其他东西中一起访问所有项目。

在 Rails 中,我会为此使用 STI。 Core Data 是否支持类似的行为?

谢谢!

【问题讨论】:

【参考方案1】:

您可以创建一个 Item 抽象实体,然后让您的每个独特项目都从它扩展。保持抽象的关系,以便您的事物可以看到所有这些。

但是请注意,在后台,所有这些孩子实际上都将被放入一个宽表中,因此您需要测试性能方面的考虑。

【讨论】:

太棒了,谢谢。至于性能,我不太担心,应用程序中不应该有大量数据。如果确实有问题,我会分开处理。

以上是关于核心数据:继承、STI 还是其他?的主要内容,如果未能解决你的问题,请参考以下文章

text STI(单表继承)

NoSQL 没毛病,为什么 MySQL 还是“王”?Linux kernel 的设计已过时?

继承,抽象类,接口

获取 STI 中的记录以获取 rails 4 中的空 has_many 记录

核心数据还是 ASIHTTPRequest 缓存?

继承,还是我应该使用组合?