【问题标题】:CoreData Entity InheritanceCoreData 实体继承
【发布时间】:2010-07-29 08:12:56
【问题描述】:

考虑我有两个具有以下关系的实体:

Entity A <-->> Entity B (one-to-many and inverse)

现在考虑我有另一个实体实体 C,它包含实体 B 和其他一些属性的所有属性,具有以下关系:

Entity A <-->> Entity C (one-to-many and inverse)

现在我可以通过使实体 B 成为实体 C 的父级来改进架构。

Entity B
   ^
   |
Entity C

现在,我的问题是,实体 C 会继承属性以及关系吗?意思是,我还需要(单独)保持以下关系吗?:

Entity A <-->> Entity C

另外,我在 Apple 的 Core Data 文档中找不到实体继承的好例子。有谁知道在线资源可以解释这一点,例如(最好)?

【问题讨论】:

    标签: iphone inheritance core-data entity


    【解决方案1】:

    是的,属性和关系以及其他所有内容都将被继承。不过要小心,像这样的子实体将在 sqlite 中与父实体共享同一个表。因此,如果您有 C 从 B 继承,那么将在 sqlite 中创建一个表,该表具有 B 和 C 的属性,表中明显空白。对于像这样的简单继承,这不是什么大问题,但是如果您决定获得“创意”,您最终可以将整个模型放在一个表中。

    【讨论】:

    • 你确定吗? “像这样的子实体将在 sqlite 中与父实体共享同一个表。” 你能提供一些参考吗?
    • 是的,我很肯定。我已经测试过它,并且在无数场合看到过它。我是参考:)
    • @Tricertops,Marus 所说的是真的。
    【解决方案2】:

    现在,我的问题是, 属性以及 实体继承关系 C?意思是,我还需要保留吗 以下关系 (单独)?:

    是的,所有属性和关系都是继承的。 ADC 仅提供少量文档

    【讨论】:

    • 但是,文档只提到“属性”而不是“关系”,这就是我在这里发布这个问题的原因。感谢您的回复。
    • 属性 + 关系 == 属性,所以文档是正确的,但它可能会更有帮助。
    猜你喜欢
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 2011-05-19
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多