【问题标题】:Core Data - Relationship to dissimilar entities核心数据 - 与不同实体的关系
【发布时间】:2010-03-24 01:49:03
【问题描述】:

假设我有以下数据模型:

Entity Person
Attribute name String
Attribute personType String
Attribute dailyRecords

Entity CarpenterDailyRecord
Attribute numberOfNailsHammered Int
Attribute picNameOfFinishedCabinet String

Entity WindowWasherDailyRecord
Attribute nameOfBuildingWashed String
Attribute numberOfWindowsWashed Int

我想在 Person.dailyRecords 和 1 个每日记录实体之间建立一对多关系(根据人员类型而变化)。当然,我可以创建一个 CarpenterPerson 和 WindowWasher 实体,每个实体都指向它独特的每日记录结构,但我必须以某种方式在我的应用程序中将人们组合在一起。

所以如果我做一个集团实体:

实体组 属性人员数组

我还是卡住了。我如何指向多个不同的 Person 实体?

肯定有一个明显的答案,只是我对这一切都很陌生。谢谢!

【问题讨论】:

    标签: core-data entity-relationship


    【解决方案1】:

    创建处理关系的父 (DailyRecord) 实体 (Person > DailyRecord)。 [CarpenterDailyRecord|WindowWasherDailyRecord] 然后继承自 DailyRecord。

    但是,这样做的风险是所有子项(WindowWasherDailyRecord、CarpenterDailyRecord)都将位于底层 sqlite 结构中的一个表中,因此可能会影响性能。这不是避免继承的理由,只是在设计数据模型时需要注意的事项。

    【讨论】:

    • 谢谢马库斯。不同记录类型中表示的数据可能有足够的重叠,核心数据不必创建太多唯一列。我得调查一下。我假设 DailyRecord 实体可能是抽象的?我会进一步阅读这个主题,但我认为我已经掌握了要点。再次感谢!
    • 是的,抱歉,不清楚,DailyRecord 实体将是抽象的。顺便说一句,不要忘记接受您认为正确的答案。
    猜你喜欢
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多