【问题标题】:core data model mapping of attribute based on attribute of other entity基于其他实体属性的属性核心数据模型映射
【发布时间】:2012-11-26 13:34:34
【问题描述】:

我有一个数据模型,其中包含两个具有一对多关系的实体

Person {
    name:string, 
    type:number, 
    files<-->>File
}

File {
    reference:string, 
    person<<-->Person
}

我已经更新了数据模型,从 Person 中删除了 type 属性,但是 File 的引用属性取决于 Person 的类型:如果 type 是 0,那么 reference 必须是“A”,如果 type 是 1 ,那么引用必须是“B”。

我找不到可以执行此映射的解决方案。有什么想法吗?

编辑:

我通过创建两个实体映射找到了解决方案,使用过滤谓词来区分类型 0 和 1。对于 Person.type == 0 的实体映射,我设置了“A”的硬编码属性映射,以及类似的对于类型 == 1>

【问题讨论】:

    标签: iphone core-data core-data-migration


    【解决方案1】:

    如果您与文件有两种关系并且没有类型属性来跟踪它,那么您或许应该考虑简单地建立两种关系。

    Person {
       name
       filesA <--->> File
       filesB <--->> File
    }
    
    File {
       reference
       personsTypeA <<---> Person
       personsTypeB <<---> Person
    }
    

    坦率地说,我认为带有 type 属性的设计看起来要优雅得多。它很灵活,可以在未来轻松扩展模型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多